|
| Kan ikke skrive æøå med ImageString (GD) Fra : J. Nielsen |
Dato : 08-12-03 21:36 |
|
Hej!
Jeg vil gerne lave en jpg-fil, hvori der står Konedøv (nevermind teksten,
det er en _meget_ lang historie .
Til det har jeg slået mig på de imagefunktioner, der ligger i gd.
Altsammen helt fint bortset fra to ting. Den ene er: Jeg kan ikke skrive
æ,ø,å med funktionen. Jeg har:
/* Image oprettes */
$nametag = imagecreate(25,100);
/* Strengen skrives i billedet */
$bg = imagecolorallocate($nametag, 240, 240, 240);
$textcolor = imagecolorallocate($nametag, 0, 0, 0);
imagestringup($nametag, 5, 4, 98, "Konedøv", $textcolor);
/* Billedet sendes til browser og fjernes fra hukommelsen */
header('Content-type: image/jpeg');
imageJPEG($nametag);
imageDestroy($nametag);
Hvis jeg retter "Konedøv" til "Whatever" så virker det uden problemer.
Hvad gør jeg?
Med venlig hilsen
Jakob Bro Nielsen
Aalborg
| |
Kasper Garnæs (08-12-2003)
| Kommentar Fra : Kasper Garnæs |
Dato : 08-12-03 22:27 |
|
J. Nielsen <mail@jbro.NOSPAMdk> wrote:
> Jeg vil gerne lave en jpg-fil, hvori der står Konedøv (nevermind
> teksten, det er en _meget_ lang historie .
>
> Til det har jeg slået mig på de imagefunktioner, der ligger i gd.
>
> Altsammen helt fint bortset fra to ting. Den ene er: Jeg kan ikke
> skrive æ,ø,å med funktionen.
>
> Hvad gør jeg?
Det er *kun* et skud i tågen, men jeg kunne godt mistænke GDLibs default
font for ikke at indeholde bogstaverne for æ, ø og å. Prøv at loade en font
som du er sikker på indeholder disse karakterer og se hvad der sker.
--
Med venlig hilsen / Regards
Kasper Garnæs
http://kasper.garnaes.dk
| |
Jakob Bro Nielsen (09-12-2003)
| Kommentar Fra : Jakob Bro Nielsen |
Dato : 09-12-03 09:08 |
|
"Kasper Garnæs" <demos@mailme.dk> wrote in message news:<br2qb4
> Det er *kun* et skud i tågen, men jeg kunne godt mistænke GDLibs default
> font for ikke at indeholde bogstaverne for æ, ø og å. Prøv at loade en font
> som du er sikker på indeholder disse karakterer og se hvad der sker.
Hej Kasper.
Tak for dit svar. Jeg har osse tænkt på, at det nok er fonten, der
ikke indeholder de rette bogstaver.
Jeg har forgæves søgt på nettet efter en anden font. Er der nogen, der
ligger inde med en font, der kan benyttes til dette?
Med venlig hilsen
Jakob Bro Nielsen
Aalborg
| |
Martin (09-12-2003)
| Kommentar Fra : Martin |
Dato : 09-12-03 09:35 |
|
Jakob Bro Nielsen wrote:
> Jeg har forgæves søgt på nettet efter en anden font. Er der nogen, der
> ligger inde med en font, der kan benyttes til dette?
Jeg mener du kan bruge ganske almindelige TTF fonte, de kan hentes
gratis mange steder på nettet, eller fra din c:\windows\fonts, forudsat
at du kører windows selvfølgelig.
MVH
Martin
| |
J. Nielsen (09-12-2003)
| Kommentar Fra : J. Nielsen |
Dato : 09-12-03 19:44 |
|
> Jeg mener du kan bruge ganske almindelige TTF fonte, de kan hentes
> gratis mange steder på nettet, eller fra din c:\windows\fonts, forudsat
> at du kører windows selvfølgelig.
Hej Martin.
Jeg kører Windows, så jeg har forsøgt at benytte verdana.ttf fra Windows'
font-bibliotek.
Min kode ser nu således ud:
/* Image oprettes */
$nametag = imagecreate(100,25);
/* Strengen skrives i billedet */
$bg = imagecolorallocate($nametag, 240,240,240);
$textcolor = imagecolorallocate($nametag, 0, 0, 0);
imagettftext($nametag, 10, 0, 10, 17, $textcolor, $fpath, $name);
Resultatet er imidlertid det samme som før. Jeg kan verificere at fonten
loades, hvis jeg skriver en tekst ($name), der ikke indeholder "kriminelle"
bogstaver.
Jeg har forsøgt at lade $name = "Ø", og det virker heller ikke.
Anyone - hvad gør jeg? Nu er det blevet et princip: Jeg VIL have æ, ø og å
billedet...
Jeg ser frem til at høre fra jer.
Med venlig hilsen
Jakob Bro Nielsen
Aalborg
| |
Peter Brodersen (09-12-2003)
| Kommentar Fra : Peter Brodersen |
Dato : 09-12-03 19:55 |
|
On Tue, 9 Dec 2003 19:44:24 +0100, "J. Nielsen" <mail@jbro.NOSPAMdk>
wrote:
>Resultatet er imidlertid det samme som før. Jeg kan verificere at fonten
>loades, hvis jeg skriver en tekst ($name), der ikke indeholder "kriminelle"
>bogstaver.
Du siger, at "det ikke virker". Hvad sker der mere præcist? Og kan du
lægge et eksempel online på hvor, det går galt? Evt. bare en kopi af
det billede, der bliver genereret med fejl?
Det kan tænkes at fejlen ligger et andet sted, fx i hvor "æøå"-teksten
kommer fra.
Her virker det fint: http://stock.ter.dk/textverdana.php
Kildetekst, næsten samme som din: http://stock.ter.dk/textverdana.phps
(dog testet under linux)
>Jeg har forsøgt at lade $name = "Ø", og det virker heller ikke.
Det vil i hvert fald ikke virke (forstået på den måde, at den printer
et Ø).
>Jeg ser frem til at høre fra jer.
Jeg prøver lige at teste samme kode under Windows...
--
- Peter Brodersen
Ugens sprogtip: trafik (og ikke traffik)
| |
J. Nielsen (09-12-2003)
| Kommentar Fra : J. Nielsen |
Dato : 09-12-03 20:40 |
|
Hej Peter (og de andre, der har svaret på dette indlæg)!
Jeg har fundet løsningen på mit problem. Strengen, der indeholder de danske
bogstaver skal igennem funktionen utf8_encode(). Så kommer de danske
bogstaver osse med ud på billedet.
Mit kald til siden, der generer billedet ser nu således ud:
echo "<p><img
src=\"../system/nametag.php?text=".utf8_encode("æøå")."\"></p>\n";
Og vupti! Ud kommer et jpg-billede, der står æøå i!
Hvis der er nogen, der er interesseret i hele koden, så skriv til mig.
Med venlig hilsen
Jakob Bro Nielsen
Aalborg
| |
|
|