Are you looking at creating a website that displays custom fonts?
Then, your webserver needs PHP Freetype support.
However, enabling Freetype libraries on the server involves a series of steps.
At Bobcares, we receive requests to enable PHP FreeType support on the server as a part of our Server Management Services.
Today, let’s see how our Support Engineers install the FreeType support and fix related errors.
Why PHP FreeType Support?
Basically, FreeType software is a low-level font engine that supports font-related operations. It is efficient, customizable and helps in producing high-quality output. It finds wide usage in graphics libraries, font conversion tools, text image generation tools, and many other products as well.
By default, FreeType 2 support fonts like TrueType fonts, Type 1 fonts, CFF fonts, etc. Also due to its modular design, it is easy to enhance the library through optional APIs.
And, to enable support for FreeType 2 in PHP, we add –with-freetype-dir=DIR. For PHP 7.4.0 we use –with-freetype instead.
Installation of PHP FreeType Support
Now, let’s see how our Support Engineers install FreeType support in PHP. This requires the PHP version to have GD support.
Initially, we use the below command to install FreeType on a CentOS server.
yum install freetype
Or in an Ubuntu machine, as a root user, we execute the commands:
apt update && apt install freetype2-demos
This installs the necessary packages. After installing it, we restart the Apache server using the below command:
systemctl httpd restart
Also, we restart the php-fpm by executing
systemctl php-fpm restart
This enables the FreeType support in the PHP configuration. We confirm it from the loaded PHP configuration.
A sample output appears as:
[root@xxx ~]# php -i | grep -i freetype | grep -v configure
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.8.0
Additionally, we also check and confirm Freetype support by adding a PHPinfo page on any of the websites.
Common error and fix for PHP FreeType Support
Normally, customers miss installing FreeType while installing the GD library. Then, they end up with errors related to missing the FreeType library.
Freetype software is essential for the GD library to work. Recently, one of our customers approached us with an error message:
Freetype-config not found error when we install gd in php7.2-apache in Docker
Here, the customer was trying to install the image php:7.2-apache from a Dockerfile. But, he ended up having a problem with the GD configuration.
Let’s see how our Support Engineers went troubleshooting this error and fix it.
He got the below error during the construction of the image:
configure: error: freetype-config not found.
We ran the below command that instructs to configure GD with freetype support.
RUN docker-php-ext-configure gd --with-freetype-dir --with-jpeg-dir=/usr/include/
Finally, this fixed the error.
[Need further assistance with PHP FreeType installation or fix its errors? We’ll help you]
Conclusion
In short, the PHP FreeType Support helps in using all font formats on websites. Also, it enables websites to provide higher-level features like text layout or graphics processing. Today, we discussed how our Support Engineers installed the FreeType Support and fixed its error.
Thanks for this post, it helped me a lot, but there is a typo, the docker command should be `RUN docker-php-ext-configure gd –with-freetype –with-jpeg-dir=/usr/include`