Mon entreprise a une image de menu fixe que nous utilisons pour le moteur d'application. J'ai besoin d'ajouter une police, et il ne semble pas exister de paquet d'apt simple, je dois donc l'ajouter manuellement, en suivant les étapes décrites ci-dessous here pour l'installation en ligne de commande sous Linux. Voici ce que j'ai jusqu'à présent:
FROM gcr.io/google_appengine/python
# ...
# Copy the font to the appropriate location.
# The font is in a ttf in the same directory as the Dockerfile.
RUN mkdir -p /usr/share/fonts/truetype/noto
COPY NotoColorEmoji.ttf /usr/share/fonts/truetype/noto
RUN chmod 644 /usr/share/fonts/truetype/noto/*
# Rebuild the font cache.
RUN fc-cache -fv
Comme vous pouvez le constater, l’image est basée sur l’image python de base GAE. Nous ajoutons également quelques autres éléments, mais il s’agit des éléments pertinents pour la police.
La sortie fc-cache
lors de la construction de l'image indique clairement qu'elle détecte une police dans le répertoire noto:
/usr/share/fonts/truetype/noto: caching, new cache contents: 1 fonts, 0 dirs
Et lorsque je me connecte à un conteneur, je constate que le fichier a bien été copié. Je peux même exécuter à nouveau fc-cache
manuellement et voir le même résultat. La nouvelle police, cependant, ne se reflète jamais dans fc-list
.
Cela a été frustrant de diagnostiquer cela parce que suivre des étapes similaires semble fonctionner parfaitement sur ma propre machine. C'est presque comme si fc-cache
se comportait différemment dans le conteneur.
Des idées sur ce que je pourrais manquer?
Mettre à jour:
J'ai ajouté une ligne au fichier fixe pour définir explicitement les autorisations correctes sur le fichier de police après l'avoir copié, mais cela ne faisait aucune différence. Cela était prévu parce que ces commandes sont finalement exécutées en tant que root, mais cela semble néanmoins être une meilleure pratique.
Chose intéressante, j’ai essayé avec une police différente (NotoEmoji-Regular.ttf) et cela a fonctionné. Je vais chercher à savoir quelle est la différence entre ces deux polices.
Très frustrant.
Une autre mise à jour:
Il semble que la principale différence réside dans les couleurs de la police, qui n'est pas standard dans le format TrueType. Comme les commentaires l'ont souligné, mon système utilise une version plus récente de fontconfig que l'image du menu fixe, ce qui explique probablement la différence.
J'aimerais vérifier ceci, mais il est en train de creuser un trou dans un terrier de lapins pour lequel mon organisation préférerait que je ne passe pas trop de temps. Si quelqu'un est capable de le faire, cependant, je serais heureux de vous donner la réponse acceptée. Sinon, je vais devoir laisser cela pour un moment.