PHP GD неправильно отображает шрифты Unicode

У меня проблемы с рендерингом символов Юникода (язык: малаялам, тамильский и хинди) с библиотекой PHP GD. Это как-то связано с механизмом рендеринга библиотеки GD? Доступны какие-либо обходные пути?


person Orion    schedule 17.02.2010    source источник
comment
Нет никого рядом, чтобы помочь?   -  person Orion    schedule 01.03.2010
comment
Посмотрите на мой ответ здесь «написание хинди-шрифтов с помощью библиотеки gd не отображается должным образом»> stackoverflow.com/questions/21188046/   -  person Abu Saad Papa    schedule 16.12.2014


Ответы (2)


Сначала убедитесь, что ваши шрифты содержат нужные глифы (системные шрифты, такие как Arial, должны). Затем убедитесь, что вы конвертируете свои параметры в юникод, используя utf8_decode(), если это необходимо.

person sehugg    schedule 21.05.2010

я нашел одну попытку это

<?php
//error_reporting(0);
$text = ("Unreadable text");
$font = "mangal.ttf";
$fontSize = "10";
$width = '600';
    $s = new CairoImageSurface(CairoFormat::ARGB32, $width, 21);
    $c = new CairoContext($s);

    /* Set the background*/
    $c->setSourceRGB(.1,149,.58);
    $c->paint();

    $c->setSourceRGB(.1,.1,.1);

    /* Make a Pango layout, set the font, then set the layout size */
    $l = new PangoLayout($c);
    $desc = new PangoFontDescription("mangal normal $fontSize");
    $l->setFontDescription($desc);

    /* Here, we use Pango markup to make part of the text bold */
    $l->setText($text);

    /* Draw the layout on the surface */
    $l->showLayout($c);
    $s->writeToPng("unicode.png");
    echo $img = "<img src=\"unicode.png\">";        
?> 
person Sudhir Vishwakarma    schedule 02.09.2011
comment
Ссылка в ответе больше недоступна - person Pmpr; 04.02.2016