|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 06 Aug 2001 15:57:58 To : Alexey Vedeshkin Subject : Re: text >>> gif -------------------------------------------------------------------------------- AV> Хотелось бы узнать, можно ли на пеpле текст пеpевести в гpафический файл , AV> пpичем используя не стандаpные шpифты, а подключаемые (киpиллические). AV> Где искать? AV> Пpимеpы? Как вставлять в изображения русский текст при пользовании библиотекой GD Для вставления кириллицы в изображения при помощи библиотеки GD следует использовать TrueType шрифты (TTF) в кодировке Unicode, содержащие кириллицу, и метод stringTTF (см. perldoc GD). Для получения кириллицы из такого шрифта необходимо перекодировать передаваемый методу stringTTF текст, подставив вместо символов кириллицы строчки вида 'номер;', где номер - код Unicode данного символа. Hапример, для перекодирования можно использовать следующий код на Perl'е: use constant TRANSTABLE => { 'ю'=>'ю', 'а'=>'а', 'б'=>'б', 'ц'=>'ц', 'д'=>'д', 'е'=>'е', 'ф'=>'ф', 'г'=>'г', 'х'=>'х', 'и'=>'и', 'й'=>'й', 'к'=>'к', 'л'=>'л', 'м'=>'м', 'н'=>'н', 'о'=>'о', 'п'=>'п', 'я'=>'я', 'р'=>'р', 'с'=>'с', 'т'=>'т', 'у'=>'у', 'ж'=>'ж', 'в'=>'в', 'ь'=>'ь', 'ы'=>'ы', 'з'=>'з', 'ш'=>'ш', 'э'=>'э', 'щ'=>'щ', 'ч'=>'ч', 'ъ'=>'ъ', 'Ю'=>'Ю', 'А'=>'А', 'Б'=>'Б', 'Ц'=>'Ц', 'Д'=>'Д', 'Е'=>'Е', 'Ф'=>'Ф', 'Г'=>'Г', 'Х'=>'Х', 'И'=>'И', 'Й'=>'Й', 'К'=>'К', 'Л'=>'Л', 'М'=>'М', 'H'=>'Н', 'О'=>'О', 'П'=>'П', 'Я'=>'Я', 'Р'=>'Р', 'С'=>'С', 'Т'=>'Т', 'У'=>'У', 'Ж'=>'Ж', 'В'=>'В', 'Ь'=>'Ь', 'Ы'=>'Ы', 'З'=>'З', 'Ш'=>'Ш', 'Э'=>'Э', 'Щ'=>'Щ', 'Ч'=>'Ч', 'Ъ'=>'Ъ', '&'=>'&' }; sub translate { my $str = shift; $str =~ s/(.)/(exists TRANSTABLE->{$1})? TRANSTABLE->{$1}: $1/eg; return $str; } Это у нас один из программистов писал. Hо GD, которая это умеет, уже не умеет GIF. У нас, насколько я знаю, это в жпеги пишут, или в PNG и потом Image::Magick'ом преобразуют в гиф. У самого IM тоже какой-то способ был, но там, кажется, не SGML entities, а просто коды писались... -- Artem Chuprina <ran@ran.pp.ru> FIDO: 2:5020/371.32 --- slrn/0.9.7.0 (Linux) * Origin: AKA с подствольным плюсомётом (2:5020/371.32) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/717852bef6f54.html, оценка из 5, голосов 10
|