Home
» UFFICIO MS
»
Come aggiungere font personalizzati a Collabora Online CODE Docker
Come aggiungere font personalizzati a Collabora Online CODE Docker
Per rendere disponibile un carattere personalizzato in Collabora Online CODE (Collabora Online Development Edition) in esecuzione in Docker, i file del font devono essere accessibili al container Collabora stesso. Installarli solo sull'host Docker o in un container Nextcloud separato non li rende disponibili al server aziendale. Per una singola implementazione di Compose, un bind mount di sola lettura è solitamente l'opzione più semplice; un'immagine personalizzata è più facile da riprodurre su una flotta gestita, mentre la configurazione remota dei font può centralizzare la distribuzione se è possibile gestirla in modo sicuro.
Le directory esatte dei font possono variare a seconda dell'immagine e della versione. L'attuale distribuzione Helm di Collabora monta i font personalizzati in entrambe le posizioni /usr/share/fonts/custome /opt/cool/systemplate/usr/share/fonts/custom. Questo è un utile riferimento per le due posizioni, ma non è una garanzia per ogni tag Docker autonomo. Verifica i percorsi nell'immagine che stai effettivamente eseguendo prima di distribuire l'esempio seguente.
Quale metodo di installazione dei font è più adatto alla tua implementazione?
La scelta dipende dal numero di istanze di CODE che gestisci, dalle modalità di distribuzione degli aggiornamenti e dalla possibilità di utilizzare un server di font sicuro.
Metodo
Migliore vestibilità
Scambio
montaggio di sola lettura
Un host Compose o una piccola installazione
Facile da aggiornare senza dover ricompilare, ma ogni host necessita degli stessi file e di percorsi container compatibili.
Immagine Docker personalizzata
CI/CD, implementazioni ripetibili o più host gestiti
I font sono versionati insieme all'immagine, ma cambiare un font significa ricostruirlo e ridistribuirlo.
Configurazione remota dei caratteri
Esistono diverse situazioni che richiedono un catalogo gestito centralmente.
La distribuzione centralizzata introduce una dipendenza dal servizio e dalla rete; l'utilizzo in produzione richiede HTTPS e misure di sicurezza operative.
Se installi Collabora con il suo chart Helm, controlla prima le deployment.customFontsimpostazioni del chart: il chart upstream offre già un'opzione di montaggio per font personalizzati. Per una configurazione Docker Compose standalone, procedi con un bind mount se i percorsi delle immagini corrispondono.
Prima di modificare Docker, cosa dovresti controllare?
Formato del carattere: utilizzare i file di carattere supportati dalla configurazione di Collabora. Il progetto ufficiale del server di caratteri di Collabora documenta i file TrueType ( .ttf) e OpenType ( .otf).
Licenza: Verificate che la licenza del font consenta l'utilizzo lato server e la distribuzione ai vostri utenti. Non copiate font da un sistema operativo desktop a meno che la licenza non lo permetta.
Nome della famiglia: Il nome visualizzato nel menu dei caratteri proviene dai metadati interni del carattere, che potrebbero differire dal nome del file. Prova a utilizzare il nome della famiglia, non solo il nome del file.
In tutti i casi: se un proxy instrada gli utenti verso più container di Collabora, installa gli stessi file di font su ogni istanza. In caso contrario, lo stesso documento potrebbe essere visualizzato in modo diverso a seconda del server che lo apre.
Percorsi esatti delle immagini: verifica le directory dell'immagine in esecuzione e la configurazione di avvio. Non riutilizzare ciecamente percorsi precedenti, come /opt/loolad esempio percorsi di pacchetti non correlati.
Crea una directory host, ad esempio ./fontsaccanto al tuo file Compose, e inserisci al suo interno i file consentiti .ttf. .otfMantieni la directory limitata ai font che intendi rendere disponibili tramite Collabora.
La cartella dei font lato host e il file Compose prima di aggiungere la directory al servizio Collabora.
Come si aggiungono i font con Docker Compose?
Aggiungi le due voci di volume di sola lettura all'elenco del servizio Collabora esistente volumes. Mantieni l'immagine, le porte, le variabili d'ambiente e le altre impostazioni correnti del servizio; si tratta di un'aggiunta, non di una sostituzione del file Compose.
La directory di origine a sinistra si trova sull'host Docker. I percorsi a destra si trovano all'interno del container. Il :rosuffisso rende i file di sola lettura per il container. Questi percorsi di destinazione seguono il template Helm upstream corrente di Collabora; per CODE Docker standalone, controlla prima il tuo tag esatto. Se una delle posizioni non è presente o la tua release utilizza directory diverse, usa i percorsi supportati da quell'immagine invece di forzare questo esempio.
L'esempio di mappatura del volume invia la stessa directory dei font host a entrambe le posizioni dei font Collabora a monte.
Applica la modifica Compose durante un periodo di inattività, poiché la ricreazione del servizio Collabora può interrompere le sessioni di modifica attive. Se il tuo servizio si chiama collabora, esegui:
docker compose up -d collabora
Utilizza il nome effettivo del servizio Compose, se diverso. Evita di riavviare l'intero stack a meno che anche altri servizi non necessitino di una modifica alla configurazione.
Come si può verificare che il container possa visualizzare i file?
Innanzitutto, verifica che le directory montate contengano i file dei font. Sostituisci collaboracon il nome del contenitore utilizzato nella tua configurazione:
docker exec collabora ls /usr/share/fonts/custom
docker exec collabora ls /opt/cool/systemplate/usr/share/fonts/custom
Esempio di comando di verifica: elenca entrambi i percorsi montati nel container Collabora in esecuzione.
La visualizzazione dei file conferma il montaggio di Docker, ma non dimostra che l'editor abbia caricato il font. Se l'immagine include le utilità Fontconfig, è possibile esaminare i nomi delle famiglie rilevate con fc-list, ad esempio:
docker exec collabora fc-list : family file
Filtra l'output per la famiglia che ti aspetti, utilizzando uno strumento disponibile nel tuo container. Se fc-listnon è installato, non aggiungere pacchetti a un container in esecuzione come soluzione permanente; verifica la configurazione dei font dell'immagine o utilizza un'immagine personalizzata riproducibile. Se i file sono visibili ma non vengono rilevati, controlla i permessi, il formato del file, i metadati interni della famiglia ed entrambi i percorsi di montaggio. Quindi consulta i log per l'immagine e la versione esatte che hai distribuito.
Come si testa un carattere in Collabora Online?
Apri o crea un documento di prova tramite la normale integrazione che avvia il tuo editor Collabora.
Apri il menu della famiglia di caratteri e cerca il nome interno della famiglia di caratteri.
Selezionalo, digita un breve esempio, salva, chiudi e riapri il documento.
Se la tua implementazione prevede più istanze di Collabora, verifica lo stesso documento da un altro utente o browser.
L'esempio seguente illustra il tipo di controllo previsto: una famiglia di caratteri appare nel menu dell'editor. Non si tratta di un'immagine tratta da un'implementazione CODE in tempo reale e la barra degli strumenti potrebbe variare a seconda della versione o dell'integrazione.
Un esempio della fase di verifica: confermare che il tipo di carattere desiderato appaia nel menu dei caratteri dell'editor.
Se la famiglia di caratteri appare ma il testo viene visualizzato con un carattere sostitutivo, assicurarsi che il tipo e lo spessore selezionati esistano (ad esempio, normale e grassetto) e verificare che il carattere sia presente sia nel percorso systemplate che nella directory generale dei caratteri. La sola presenza di una voce di menu non è sufficiente a garantire che ogni stile o ogni server disponga del carattere.
Quando conviene utilizzare un'immagine personalizzata o un servizio di font remoto?
Creare un'immagine personalizzata per la ripetibilità
Un Dockerfile che copia i file dei font approvati nei percorsi utilizzati dall'immagine CODE scelta semplifica la riproduzione delle implementazioni: il digest dell'immagine identifica sia la build del server che il suo set di font. Il costo è una ricostruzione, una scansione e un'implementazione ogni volta che si aggiorna un font o l'immagine di base. Ricontrollare le directory di destinazione dopo gli aggiornamenti dell'immagine di base ed evitare di considerare un'istruzione di copia dei font come universale per tutte le versioni di CODE.
Utilizzare la configurazione remota dei caratteri per un catalogo condiviso
Il progetto fontserver di Collabora descrive la configurazione remota dei font e un catalogo JSON. I suoi manutentori etichettano questo repository come destinato allo sviluppo e al test, quindi non considerate il server di esempio come un servizio pronto per la produzione. Per la produzione, utilizzate un endpoint HTTPS correttamente gestito, limitate e validate i font che fornisce e tenete conto della disponibilità della rete e del comportamento di aggiornamento della cache. Questa scelta può ridurre la gestione dei file per ogni host, ma aggiunge un servizio il cui malfunzionamento o una modifica della configurazione possono influire sulla disponibilità dei font.
Per un singolo container CODE gestito con Docker Compose, iniziate con un bind mount di sola lettura: è semplice da ripristinare e non richiede una build personalizzata. Per un gruppo di container gestito tramite CI/CD, è preferibile un'immagine personalizzata quando si desidera che ogni distribuzione includa un set di font esplicito e verificabile. Considerate la configurazione remota dei font solo quando la distribuzione centralizzata rappresenta un vantaggio operativo significativo e potete fornire un servizio HTTPS sicuro e affidabile. In ogni caso, verificate i percorsi e testate il font in un documento reale dopo la distribuzione; il solo elenco dei font dell'host non è sufficiente a confermare che Collabora lo abbia caricato.