|
|
|
|
|
для: XPraptor
(01.12.2006 в 10:34)
| |
<?php
$text = 'Силён Русский Дух';
$text= iconv('windows-1251', 'UTF-8', $text);
$im = imagecreatetruecolor(400, 50);
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 639, 199, $white);
imagettftext($im, 20, 0, 20, 30, $grey, 'ARIAL.TTF',$text);
header('Content-Type: image/jpeg');
imagejpeg($im);
?>
|
Как это будет выглядеть на практике? | |
|
|
|
|
|
|
|
для: Trianon
(01.12.2006 в 09:48)
| | Конечно принимает UTF-8, только вот наши буквы ё и й в шрифтах это multiwide символы, поэтому шрифты созданы в 16 битной последовательности. Поэтому я и написал ЖЕЛАТЕЛЬНО. Но можно и UTF-8 если не страшно получить переконверт ё й и Р. Наше Р большое тоже мультивайд не знаю почему даже. | |
|
|
|
|
|
|
|
для: XPraptor
(01.12.2006 в 04:15)
| | Что-то Вы путаете. imagettftext() принимает байтовый (UTF-8) поток, а не пословный(UTF16).
Он, конечно, может содержать ссылки на десятичные номера символов в UNICODE (вида Ю), хотя это скорее извращение, чем метод. | |
|
|
|
|
|
|
|
для: Drago
(29.11.2006 в 19:58)
| | Читай внимательно. Функции понимают ТОЛЬКО ЮНИКОД (желательно полный UTF16LE в котором и созданы все русские шрифты). Ты конвертишь из виндовс в iso не прокатывает для не юникод шрифтов такая конвертация. Только в юникод и потом пишешь по картике любым шрифтом, я юзал это на своем сайте shop.aon.by пока не задолбало, медленно выводит много картинок, поэтому и бросил страдать фигней. | |
|
|
|
|
|
|
|
для: XPraptor
(29.11.2006 в 03:20)
| | >Прикалываетесь? Какой русский шрифт специальный? Все функции GD пишут любыми шрифтами по русски (конечно если шрифт предусматривает русский набор) только строку в вывод нужно передавать уже перекодированную в UTF16LE.
Ну не знаю, сколько не качал шрифты, с пометкой, что оный поддерживает кирилицу, попадались такие, что при печати на картинке были одни квадратики. Получается, из этого можно сделать вывод, что этот шрифт не "предусматривает русский набор", то есть не поддерживает кирилицу. Значит, на сайтах со шрифтами, иногда, пишут недостоверную информацию.
>Ткни в поиск и найдешь простейший скрипт перекодировки строки из win в utf16le.
>Перед оправкой на вывод в GD, сначала конвертни строку и потом только ее отправляй в функцию печати по картинке.
Хочу заметить, что мне ничего искать не нужно. Я пользуюсь функцией, которую, кстати, нашел на этом форуме и которая меня вполне устраивает.
<?
function win2uni($s)
{
$s = convert_cyr_string($s,'w','i');
for ($result='', $i=0; $i<strlen($s); $i++)
{
$charcode = ord($s[$i]);
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
}
return $result;
}
?>
|
| |
|
|
|
|
|
|
|
для: Drago
(28.11.2006 в 20:12)
| | Прикалываетесь? Какой русский шрифт специальный? Все функции GD пишут любыми шрифтами по русски (конечно если шрифт предусматривает русский набор) только строку в вывод нужно передавать уже перекодированную в UTF16LE. Ткни в поиск и найдешь простейший скрипт перекодировки строки из win в utf16le.
Перед оправкой на вывод в GD, сначала конвертни строку и потом только ее отправляй в функцию печати по картинке. | |
|
|
|
|
|
|
|
для: Kolobok
(28.11.2006 в 20:11)
| | Полевыми испытаниями ;) | |
|
|
|
|
|
|
|
для: Drago
(28.11.2006 в 20:05)
| | а как узнать какой шрифт то использовать? | |
|
|
|
|
 134.2 Кб |
|
|
для: Trianon
(28.11.2006 в 19:50)
| | Не знаю, чье это наследие, может даже лентяя создателя. :) Поленился какую галочку, в программе создания шрифтов, поставить и все. Или вот как в аттаче, многих спец символов не хватает :) | |
|
|
|
|
|
|
|
для: Drago
(28.11.2006 в 19:45)
| | Небось наследие Windows 3.1 ... Были, помнится, версии, в которых UNICODE-индексов в таблице не было, а присутствовали только ANSI-индесы. Но это было больше десятка лет назад. И помоему, уже 3.11 от этого недуга была излечена. | |
|
|
|
|