Vložení textu (utf8) do obrázku

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mrataja
Člen | 57
+
0
-

Pro vložení textu do obrázku používám níže uvedenou funkci, nicméně i přestože je na lokále všechno v pořádku, na produkčním prostředí se rozbíjí znaky s diakritikou (čtverečky místo znaků, font existuje).

	/**
	 * Insert text into bottom right corner of image.
	 * @param  string  string
         */
        public function insertText($string = NULL) {

            //$string = "Příliš žluťoučký kůň úpěl ďábelské ódy";
            if (!$string) return false;

            $font           = 'arial.ttf';
            $font_width     = ImageFontWidth($font) * strlen($string) ;
            $font_height    = ImageFontHeight($font) ;

            $im 	= $this->image;
            $x		= $this->getWidth() - $font_width - 20; //20 from right
            $y		= $this->getHeight() - $font_height - 20; //20 from bottom

            $text_color 	= imagecolorallocate ($im, 0, 0,0);//black text

            imagettftext($im, 12 , 0, $x, $y, $text_color, $font, $string);
            //imagestring ($im, $font, $x, $y, $string, $text_color);

            return $im;
        }

$image = NImage::fromFile($file);
$image->insertText('Příliš žluťoučký kůň úpěl ďábelské ódy');
$image->save('test.jpg');

Chci se zeptat:

  • existuje Nette „způsob“ případně jak podobný případ řešíte
  • kterou vlastnost v nastavení serveru mám hledat, když text v utf8 na lokále je v pořádku, ale na produkčním serveru nikoliv