::: PHP.com.ua - учимся вместе. ::: ::: PHP.com.ua - учимся вместе. :::



 
   - Вакансия PHP-программист, Днепропетровск...
  - Проблема с передачей переменной в PHP ск...
  - Как хранить конфигурацию cms'ки?
  - Проблема с сортировкой массива
  - коллизии md5
  - Странный глюк функции date
  - Скроллинг в iframe


Главная
Новости
Статьи
Шпаргалки
Файлы
О проекте
Форум
Футболки


FREEhost.com.ua - купил хостинг 10 у.е. на Begun в подарок.

iName.com.ua - регистрация доменных имен и хороший хостинг.

Библиотека программиста - нужный вам исходник или документация по необходимому для вас языку программирования.

Designclub - Клуб дизайнеров Украины.

Регистрация доменов
Хостинг

 HowtoForge.ORG.UA - Это первый Украинский ресурс развития open source программного обеспечения


Путь: Статьи > Общие вопросы

Общие вопросы

Автор: - Yurik
Дата публикации - 21.5.2005
Просмотров: - 4626

Поддержка шрифтов с кирилицей в GD


[nb]Чтобы использовать эти функции Вам нужно скомпилировать PHP с поддержкой GD (--with-gd) или под Windows прописать<br><b>extension=php_gd.dll</b> (естественно этот файл должен быть в папке для расширений)<br>Посмотреть есть ли у Вас уже эти возможности можно в <b>phpinfo()</b>[/nb]
Если Вы пытались поместить на картинку текст не с таблицы ASCII, например через
[php]
imagestring ($im, 1, 10, 10, "Русский текст", $color);[

/php]
то у вас явно ничего не получилось.
Решением есть использование TrueType шрифтов с поддержкой Unicode. Файл *.ttf должен быть в вашей системе. В Windows они уже есть в папке %windir%\Fonts. Врядле эти шрифты будут у вас под Unix-системой, поэтому скопируйте их в какую либо папку, можно даже в пределах виртуального каталога.
[nb]Не забывайте о правах доступа под Unix. Если пользователь от которого запущен скрипт не будет иметь доступа к файлу шрифта, скрипт выдаст ошибку и вы ее врядле увидите, т.к. скрипт послал "Content-type: image/format" заголовок.[/nb]
Для написания TrueType текста используем ImageTTFText() функцию. Кириличные символы обозначаем через unicode, например &1072; - буква "а".
[php]
<?php
header 
("Content-type: image/png");
$font="times.ttf"// или другой путь в системе
$im = @ImageCreate (58080) or die ("Cannot Initialize new GD image stream");
$backgroung ImageColorAllocate ($im255255255);
$black ImageColorAllocate ($im000);
$text_color ImageColorAllocate ($im2331491);

$str="";
for (
$i=1040$i<1072$i++){ // А-Я
 
$str.="&#".$i."; ";
}
ImageTTFText ($im1601018$black$font$str);

$str="";
for (
$i=1072$i<1104$i++){ // а-я
 
$str.="&#".$i."; ";
}
ImageTTFText ($im1601035$black$font$str);

$str="&#1025; &#1105; &#1028; &#1108; &#1030; &#1110;  &#1031; &#1111; &#1118; ";
ImageTTFText ($im1601052$black$font$str); //украинские буквы

imagerectangle($im11578785);
ImagePng ($im);
?>[

/php]



Обсудить в ФОРУМе - комментариев ()


Путь: Статьи > Общие вопросы

Если вы заметили орфографическую, стилистическую или другую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Контакты Design by webFaction Ukrainian PHP Group 2004-2005