Письма гуджарати не отображаются должным образом при использовании функции imagefttext (), PHP - PullRequest
0 голосов
/ 17 ноября 2018

Хотите отобразить половину букв как "અર્થ" и "અસત્ય" в функции imagefttext PHP, но результат будет другим.Как это.

Link of image that not properly displaying half words of gujarati

Или кто-нибудь может помочь мне альтернативным способом?

 <?php
 header('Content-type: text/html; charset=utf-8');

#Declare fixed values
$textY = 190;
$textX = 130;   
$textY2 = 280;
$textX2 = 130;          
$textFont = './fonts/notoSans/NotoSansGujarati-Bold.ttf';
// $textFont = './fonts/Shrikhand-Regular.ttf';
$textSize = 54;
$imagesFolder = './images';

        $text = "અર્થ"; 
        $text2 = "અસત્ય";

        //header("Content-Type: image/png");
        header("Content-Type: image/png");

        //Creating background image
        $im = imagecreatefrompng('https://i.stack.imgur.com/A9Oll.png');
        //$im = imagecreatetruecolor(512,512);

        // Create the clours to be used.
         $yellow = imagecolorallocate( $im, 255, 255, 0 );

        imagefttext( $im, $textSize, 0, $textX, $textY, $yellow, $textFont, $text );
        imagefttext( $im, $textSize, 0, $textX2, $textY2, $yellow, $textFont, $text2 );

        $imageFile = $imagesFolder.'/'.rand(0,500).'.png';

        imagepng( $im, $imageFile );
        // Unload resources.
        imagedestroy( $im );

?>

=> Правки 0.1: Проблема с отображением половиныбуквы на изображении.- Вывод, который мне нужен (я сделал это в фотошопе): требуемый вывод изображения - Но я получаю этот код: изображение получается из кода

1 Ответ

0 голосов
/ 17 ноября 2018

Похоже, что это невозможно с Unicode, и было проблемой в течение длительного времени. От разработчика PHP на 10-летнюю ошибку :

Спасибо, теперь я понял. Проблема не особенно связана с Бенгальский, а скорее для объединения персонажей в целом, которые не поддерживается imagettftext ().

Я попытался сделать это с расширением Imagick, но у меня был тот же вывод.

Возможный обходной путь - найти шрифт, использующий другую кодировку, например ISCII, а затем преобразовать текст в эту кодировку, используя mb_convert_encoding() или аналогичную функцию.

Или, возможно, изображение, сгенерированное средством командной строки, запустится с exec().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...