Я пытаюсь сделать текст выровненным по центру поля, используя imagettftext () и стандартный шрифт Arial Bold.
Я разрабатываю код на Mac, и текст выравнивается по центру поля так, как я и ожидал. Но затем я развертываю свой код на соответствующем сервере Linux, и кажется, что источник, из которого выводится текст, отличается и кернинг выключен.
Я подтвердил, что на обеих машинах установлена последняя и самая лучшая версия php и php gd.
См. Примеры изображений ниже:
Это то, что происходит на Mac
Это то, что происходит в Linux
В моем вопросе кто-то уже сталкивался с этим и знал об исправлении или обходном пути для этой проблемы без необходимости прибегать к простому смещению текста на пару пикселей на сервере Linux. Или я что-то упускаю, когда дело доходит до рендеринга текста с помощью вышеуказанной функции?
РЕДАКТИРОВАТЬ: я использую imagettfbbox (), чтобы получить размер текста, который я рендеринг, чтобы центрировать его должным образом (я также пробовал фиктивный рендеринг с использованием imagettftext (), чтобы получить ограничивающий прямоугольник, проблема, кажется происхождение imagettftext () отрисовывает тоже странно)
РЕДАКТИРОВАТЬ 2: Может быть, разница между реализациями в freetype? хотя я надеюсь, что они используют одну и ту же кодовую базу