|
|
|
|
|
для: Valick
(14.01.2007 в 00:50)
| | На самом деле, достаточно преобразовать строку в utf-8, что может быть выполнено, например, с помощью iconv(() | |
|
|
|
|
|
|
|
для: Valick
(14.01.2007 в 00:50)
| | Вау, я поражен такому быстрому ответу!
Огромное спасибо! Все заработало :) | |
|
|
|
|
|
|
|
для: Sergey89
(13.01.2007 в 23:21)
| | Извиняюсь, мне надо было хотябы прочитать скрипт. Позвольте исправить положение.
<?php
// Функция преобразует текст из кодировки iso8859-5 в Unicode-entities.
// Ее необходимо вызывать перед запуском imageTtfText(), чтобы корректно
// отображать русские буквы. Аргумент $from задает исходную кодировку
// страницы (см. convert_cyr_string() для описания значений параметра).
function toUnicodeEntities($text, $from="w") {
$text = convert_cyr_string($text, $from, "i");
$uni = "";
for ($i=0, $len=strlen($text); $i<$len; $i++) {
$char = $text{$i};
$code = ord($char);
$uni .= ($code>175)? "&#" . (1040+($code-176)) . ";" : $char;
}
return $uni;
}
$img = imagecreatetruecolor(350, 200);
If ($img)
{
$green = imagecolorallocate($img, 0, 255, 0);
$yellow = imagecolorallocate($img, 255, 250, 0);
$string = toUnicodeEntities("шрифт True Type");
$box = imagettftext($img, 20, 10, 10, 150, $yellow, "arial.ttf", $string);
$font = 4;
$height = $box[5] - imagefontheight($font);
imagestring($img, $font, 40, $height, "PHP and GDLib", $green);
header("Content-type: " .image_type_to_mime_type(IMAGETYPE_PNG));
imagepng($img);
}
?> | |
|
|
|
|
|
|
|
для: Valick
(13.01.2007 в 22:41)
| | >> во встроенных шрифтах.
ключевое слово. Arial.ttf - не встроенный шрифт. | |
|
|
|
|
|
|
|
для: LordFreeman
(13.01.2007 в 22:04)
| | Недавно читал может пригодится.
Изначально библиотека GD не поддерживает русские буквы во встроенных шрифтах. Тем не менее большинство хостинг провайдеров добавляют эту поддезжку. О том как этого добиваются можно прочитать по адресу http://megaz.arbuz.com/?p=russian-gd
А шрифт TTF? | |
|
|
|
|
|
|
|
для: LordFreeman
(13.01.2007 в 22:04)
| | Может быть настроить локали? | |
|
|
|
|
|
|
| вот код, из вашей книги Практика создания веб-сайтов
<?php
$img = imagecreatetruecolor(350, 200);
If ($img)
{
$green = imagecolorallocate($img, 0, 255, 0);
$yellow = imagecolorallocate($img, 255, 250, 0);
$box = imagettftext($img, 20, 10, 10, 150, $yellow, "arial.ttf", "шрифт True Type");
$font = 4;
$height = $box[5] - imagefontheight($font);
imagestring($img, $font, 40, $height, "PHP and GDLib", $green);
header("Content-type: " .image_type_to_mime_type(IMAGETYPE_PNG));
imagepng($img);
}
?>
|
сервак стоит на Suse Linux 10.2
что нужно исправить чтобы он отображал кириллицу.
PS шрифт лежит в том же каталоге что и скрипт. Шрифт брал с винды XP русской.
на картинке изображено то, что получается вместо кирилицы квадратики. | |
|
|
|
|