我正在AWS Lambda上安装Imagemagick,似乎没有预装Imagemagick通常使用的字体,我该如何添加其他字体?
答案 0 :(得分:1)
你不能。
您甚至可以将Imagemagick与lambda一起使用的原因是因为AWS Lambda团队已在其容器上预安装了此库。
对于在NodeJS上运行的Lambda来说也是如此 - 它有用于操作运行在操作系统上的Imagemagick但不能自行运行它的库。
您应该检查使用C#/ Java运行时 - 可能有Imagemagick库,您可以将其添加到Lambda中(不确定)。
答案 1 :(得分:0)
这就是我需要使用pandoc / xelatex在AWS Lambda上处理自定义字体的方法。我认为您可以做一些非常相似的事情来使Imagemagick正常工作。
我在项目中创建了一个fonts
目录,并将所有字体放置在那里。同样在该目录中,我创建了一个fonts.conf
文件,如下所示:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/var/task/fonts/</dir>
<cachedir>/tmp/fonts-cache/</cachedir>
<config></config>
</fontconfig>
然后,在我的(基于node.js的)处理函数中,在炮轰出pandoc之前,我设置了一个ENV变量来告诉fontconfig在哪里找到字体。
process.env.FONTCONFIG_PATH='/var/task/fonts'
完成此操作后,我可以在模板中按名称(仅Bitter
引用一种字体,例如Bitter
,然后使用pandoc / xelatex / fontconfig /无论知道使用哪种字体(例如Bitter-Bold.otf
与Bitter-Italic.otf
之类的内容)是基于任何一点文字都应该具有的样式。
我是根据该项目中的技巧弄明白这一点的,以使RSVG可以在Lambda上使用自定义字体:https://github.com/claudiajs/rsvg-convert-aws-lambda-binary/blob/master/README.md#using-custom-fonts