Accueil
» Comment faire
»
Rendre les polices personnalisées disponibles dans Collabora CODE Docker
Rendre les polices personnalisées disponibles dans Collabora CODE Docker
Pour qu'une police personnalisée s'affiche correctement dans Collabora Online CODE exécuté dans un conteneur Docker, conservez les fichiers de police sur l'hôte et montez le même répertoire à la fois dans le répertoire des polices système du conteneur et dans son répertoire système de documents. Ce dernier fournit les fichiers aux processus de documents isolés ; monter les polices uniquement dans ce répertoire /usr/share/fontspeut permettre à une famille de polices d'apparaître dans le menu des polices sans pour autant l'afficher dans le document. Ce guide utilise Docker Compose et le chemin d'accès actuel de l'image CODE/opt/cool/systemplate ; vérifiez le chemin si vous utilisez une autre image.
Conservez les fichiers de polices sous licence dans un répertoire hôte accessible par Docker.
Choisissez une source de polices que vous pouvez maintenir
Un montage de type « bind » en lecture seule est généralement l'option la plus simple pour un hôte Docker. Il préserve les fichiers de polices lors de la recréation ou de la mise à jour du conteneur CODE, et vous permet de vérifier précisément les fichiers accessibles au conteneur. Utilisez des fichiers de polices dont vous êtes autorisé à installer et à redistribuer sur le serveur. Ne copiez pas l'intégralité du répertoire de polices d'un système de bureau, sauf si vous avez vérifié ses licences et que vous avez besoin de ces fichiers.
Utilisez des fichiers de polices non compressés dans des formats compatibles avec votre environnement, généralement TrueType .ttfou OpenType .otf. Incluez les styles nécessaires à vos documents, tels que normal, gras, italique et gras italique. Veillez à la clarté des noms de famille et de fichiers, et assurez-vous que l'utilisateur du conteneur dispose des droits d'accès à tous les répertoires et fichiers. Une police ne contenant qu'un seul style peut entraîner l'utilisation d'une autre police par Collabora lorsqu'un document demande du gras ou de l'italique.
Commencez par créer un répertoire hôte dédié et copiez-y les fichiers autorisés :
Remplacez les noms de fichiers d'exemple par vos fichiers de polices réels. L'autorisation de lecture est importante car le processus CODE s'exécute avec un compte non privilégié dans les images actuelles. Veillez à conserver un chemin d'accès stable au répertoire ; les points de montage Compose y feront référence.
Montez les polices à la fois dans l'arborescence des polices de l'hôte et dans la plaque système.
Dans votre collaboraservice existant docker-compose.yml, ajoutez ces entrées de volume. Conservez votre image, vos ports, votre liste blanche de domaines, vos paramètres SSL, vos secrets et votre stratégie de redémarrage existants ; l’extrait ci-dessous ne montre que les points de montage des polices.
Ajoutez les deux points de montage en lecture seule sous la section des volumes du service CODE existant.
La première cible rend les polices disponibles pour la détection de polices standard du conteneur. La seconde cible les place dans le modèle utilisé pour préparer les environnements de documents isolés. Le manuel du SDK de Collabora documente ce modèle de volume à deux emplacements pour Docker. Ne montez pas le volume sur l'intégralité /usr/share/fontsdu répertoire `systemplate` : cela pourrait masquer les polices déjà fournies par l'image.
Le chemin d'accès au modèle système dépend de la version. Les métadonnées de l'image CODE 26.04 indiquent ce /opt/cool/systemplatechemin comme étant celui du modèle système, et la documentation actuelle de Collabora utilise cet emplacement. Si vous utilisez une image plus ancienne ou une version spécifique à un fournisseur, consultez la documentation ou la configuration de démarrage de cette image avant de modifier le chemin cible.
Recréez le conteneur et confirmez la détection des polices.
Après avoir enregistré le fichier Compose et placé les fichiers de police sur l'hôte, recréez le service CODE afin que Docker applique les montages de liaison :
Recréez le service, puis utilisez fc-list pour vérifier si Fontconfig détecte la famille de polices.
Dans le résultat, recherchez le nom de la famille de polices ou le chemin d'accès au fichier monté. Pour affiner la liste, utilisez la commande suivante grepen spécifiant le nom de famille fourni par la police elle-même :
Si la commande ne renvoie aucune correspondance, vérifiez le chemin d'accès à l'hôte, les permissions des fichiers, l'indentation des points de montage et les journaux du conteneur. Vous pouvez examiner les points de montage effectifs sur docker inspectle conteneur en cours d'exécution ou utiliser `ls` docker compose configpour détecter les erreurs d'indentation YAML. L'exécution de `ls` docker compose downn'est généralement pas nécessaire pour appliquer la modification de volume ; la recréation du service suffit.
Vérifiez que la police s'affiche correctement à l'intérieur d'un document.
Vérifiez à la fois le sélecteur de polices et le texte rendu dans un document après l'avoir rouvert.
Ouvrez un document de test via l'intégration Nextcloud ou WOPI standard, sélectionnez un court extrait de texte et choisissez la police personnalisée dans le sélecteur de polices. Saisissez une nouvelle ligne avec cette police, enregistrez, fermez et rouvrez le fichier. Vérifiez l'affichage du texte normal et du texte en gras, et comparez les sauts de ligne et la mise en page avec le document source. L'affichage de la police dans le menu ne constitue qu'une vérification préliminaire ; le rendu correct après réouverture du fichier est vérifié en observant le texte.
La police apparaît dans le menu mais le texte disparaît ou revient à son état initial : vérifiez que le deuxième point de montage cible le répertoire des polices du système et qu’il contient les mêmes fichiers.
L'option « Police » est absente du menu : vérifiez que les fichiers sont valides et lisibles, puis examinez fc-listla sortie et les journaux de démarrage du conteneur.
La police fonctionne jusqu'à la mise à jour de l'image : vérifiez que les deux points de montage restent dans Compose et que votre répertoire hôte ne se trouve pas dans un chemin de conteneur temporaire.
Seuls certains caractères s'affichent : la police sélectionnée ne contient peut-être pas ces glyphes. Ajoutez une police couvrant les caractères requis ou utilisez une police de remplacement appropriée.
Un montage de polices permet de conserver les polices indépendamment de l'image CODE, mais ne garantit pas une mise en page identique sur tous les clients ni dans tous les documents. Le remplacement de polices, les glyphes manquants, les différentes versions de polices et la mise en forme spécifique au document peuvent toujours modifier le retour à la ligne. Pour plus de détails sur la configuration, consultez la documentation d'installation des polices de Collabora , le guide de l'image Docker CODE et le manuel du SDK Collabora Online . Il est recommandé de consulter à nouveau l'exemple Docker et la documentation de l'image actuelle du manuel lors de tout changement de version de CODE.