热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

将字体添加到泊坞窗图像

如何解决《将字体添加到泊坞窗图像》经验,请问有什么解决方案?

我的公司有一个docker图像,我们用它来app引擎flex.我需要添加一个字体,并且在任何地方似乎都没有简单的apt包,所以我需要手动添加它,按照此处列出的步骤在Linux上进行命令行安装.这是我到目前为止所拥有的:

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

如您所见,图像基于GAE基本python图像.我们还添加了一些其他内容,但这是与字体相关的内容.

fc-cache构建映像时的输出清楚地表明它正在检测noto目录中的一种字体:

/usr/share/fonts/truetype/noto: caching, new cache contents: 1 fonts, 0 dirs

当我登录到容器时,我发现该文件确实被复制了.我甚至可以fc-cache手动再次运行并看到相同的输出.但是,新字体永远不会反映出来fc-list.

诊断这一点令人沮丧,因为遵循类似的步骤似乎在我自己的机器上完美运行.这几乎就好像fc-cache容器中的行为不同.

关于我可能遗失的任何想法?

更新:

我在docker文件中添加了一行,以便在复制后在字体文件上显式设置正确的权限,但没有区别.这是预期的,因为这些命令最终以root身份运行,但它仍然是一种更好的做法.

有趣的是,我尝试使用不同的字体(NotoEmoji-Regular.ttf)并且确实有效.我将研究这两种字体之间的区别是什么导致这种情况.

很沮丧.

另一个更新:

看起来主要区别可能是字体中的颜色,这在TrueType格式中是非标准的.正如评论所指出的那样,我的系统使用的是fontconfig的新版本而不是docker图像,这可能是造成这种差异的原因.

我想验证这一点,但它正在挖掘一个兔子洞,我的组织宁愿我不要花太多时间.如果有人能够这样做,但我很乐意给你接受的答案.否则我将不得不离开这一点.


推荐阅读
author-avatar
mobiledu2502930381
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有