|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Dmitri Minaev 2:5057/19.21 06 Apr 2002 16:48:01 To : "Nurlan Mukhanov" Subject : Re: Image::Magic или как писать по русски? -------------------------------------------------------------------------------- >>>>> Hello, Nurlan Mukhanov NM> use Text::Iconv; my $converter = Text::Iconv->new("koi8-r", NM> "Unicode"); my $text = $converter->convert("Привет"); NM> не помогает. UTF-7, UTF-8 тоже... Hет, не так. Прошу прощения у знатоков и ценителей за уродский код, но сама идея вот такая: # prepare the text for putting it over the picture: # replace \r and \t symbols, convert Cyrillic letters to Unicode: $textover =~ s/"\r"/"\n"/g; $textover =~ s/"\t"/" "/g; $textover =~ s/а/\\0x0430/g; $textover =~ s/б/\\0x0431/g; $textover =~ s/в/\\0x0432/g; $textover =~ s/г/\\0x0433/g; $textover =~ s/д/\\0x0434/g; $textover =~ s/е/\\0x0435/g; $textover =~ s/ё/\\0x0435/g; $textover =~ s/ж/\\0x0436/g; $textover =~ s/з/\\0x0437/g; $textover =~ s/и/\\0x0438/g; $textover =~ s/й/\\0x0439/g; $textover =~ s/к/\\0x043a/g; $textover =~ s/л/\\0x043b/g; $textover =~ s/м/\\0x043c/g; $textover =~ s/н/\\0x043d/g; $textover =~ s/о/\\0x043e/g; $textover =~ s/п/\\0x043f/g; $textover =~ s/р/\\0x0440/g; $textover =~ s/с/\\0x0441/g; $textover =~ s/т/\\0x0442/g; $textover =~ s/у/\\0x0443/g; $textover =~ s/ф/\\0x0444/g; $textover =~ s/х/\\0x0445/g; $textover =~ s/ц/\\0x0446/g; $textover =~ s/ч/\\0x0447/g; $textover =~ s/ш/\\0x0448/g; $textover =~ s/щ/\\0x0449/g; $textover =~ s/ъ/\\0x044a/g; $textover =~ s/ы/\\0x044b/g; $textover =~ s/ь/\\0x044c/g; $textover =~ s/э/\\0x044d/g; $textover =~ s/ю/\\0x044e/g; $textover =~ s/я/\\0x044f/g; $textover =~ s/А/\\0x0410/g; $textover =~ s/Б/\\0x0411/g; $textover =~ s/В/\\0x0412/g; $textover =~ s/Г/\\0x0413/g; $textover =~ s/Д/\\0x0414/g; $textover =~ s/Е/\\0x0415/g; $textover =~ s/Ё/\\0x0415/g; $textover =~ s/Ж/\\0x0416/g; $textover =~ s/З/\\0x0417/g; $textover =~ s/И/\\0x0418/g; $textover =~ s/Й/\\0x0419/g; $textover =~ s/К/\\0x041a/g; $textover =~ s/Л/\\0x041b/g; $textover =~ s/М/\\0x041c/g; $textover =~ s/H/\\0x041d/g; $textover =~ s/О/\\0x041e/g; $textover =~ s/П/\\0x041f/g; $textover =~ s/Р/\\0x0420/g; $textover =~ s/С/\\0x0421/g; $textover =~ s/Т/\\0x0422/g; $textover =~ s/У/\\0x0423/g; $textover =~ s/Ф/\\0x0424/g; $textover =~ s/Х/\\0x0425/g; $textover =~ s/Ц/\\0x0426/g; $textover =~ s/Ч/\\0x0427/g; $textover =~ s/Ш/\\0x0428/g; $textover =~ s/Щ/\\0x0429/g; $textover =~ s/Ъ/\\0x042a/g; $textover =~ s/Ы/\\0x042b/g; $textover =~ s/Ь/\\0x042c/g; $textover =~ s/Э/\\0x042d/g; $textover =~ s/Ю/\\0x042e/g; $textover =~ s/Я/\\0x042f/g; И потом: # if there are any printable chars in the text, put it over the picture: if ($textover =~ /[\w]/) { $rc = $image->Annotate(text=>$textover, font=>"@"."$httpd_dir$base_dir/$font.ttf", pointsize=>$size, fill=>$color, gravity=>NorthWest, antialias=>true, x=>$rshift, y=>$dshift+$size, rotate=>-$angle, ); } -- Ceterum censeo Carthaginem must die --- ifmail v.3.03 * Origin: Galactic sector ZZ 9 plural Z Alpha (2:5057/19.21@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/2936724151cc.html, оценка из 5, голосов 10
|