如何为Ubuntu16.04服务器添加字体支持?

如何为Ubuntu16.04服务器添加字体支持?

简而言之:

我必须在 Ubuntu 16.04 服务器上安装哪些软件包才能获得可以将文本绘制到图像中的 perl 模块的完整字体支持?

详细地:

我在虚拟机上运行着 Ubuntu 16.04.1 LTS(服务器,即没有 GUI),还有一台旧的 Ubuntu 14.04 服务器(也没有 GUI),我想将一些应用程序从旧服务器移到新的 16.04 机器上。下面描述的应用程序在旧机器上运行良好,但在新机器上却不行。

我在这台机器上运行着一个网络服务器(apache),那里有一个网站,其中包含一个带有验证码(显示一些文本的图像)的电子邮件表单。我使用 cpan 模块通过 perl 脚本生成此验证码成像仪

在这个 perl 脚本中,有这样一个命令可以加载字体,以便我稍后可以使用它在图像中绘制字母:

my $font = Imager::Font->new(file=>$font_filename) or die "Cannot load $font_filename: ", Imager->errstr;

其中 $font_filename 是现有 ttf 字体的文件名。(我检查过了。字体在那里,而且可以读取。)但此命令失败。我收到以下错误消息:

Cannot load /path/to/fontdir/opensans-bold.ttf: No font drivers enabled that can support this file, rebuild Imager with any of ft2 (FreeType 2.x), tt (FreeType 1.x) to use this font file at ./myPerlScript.pl line 123.

这条信息说我应该“使用 ft2 (FreeType 2.x)、tt (FreeType 1.x) 中的任何一个重建 Imager“。

我不知道该怎么做。

我认为我需要安装一个包含适用于 ubuntu 16.04 的字体支持的软件包,然后重新安装 cpan 模块成像仪

如果确实只是缺少一个包:是哪一个?
如果是其他问题:我必须做什么才能使 Imager 能够使用我的 ttf 字体?

答案1

我自己找到了答案:

丢失的数据包是 libfreetype6-dev:

apt install libfreetype6-dev

但我还必须安装这个才能使 Imager 正常工作(不是因为字体,而是因为读取和写入图像):

apt install libpng-dev  
apt install libjpeg-dev  
cpanm install Imager::File::PNG  
cpanm install Imager::File::JPEG  

相关内容