Moin, Am So, den 28.12.2003 schrieb Andre Heine um 18:04:
Ich denke aber das Ratti trotzalledem mal eval() ausprobieren sollte, die Sache mit dem Pragma hört sich im Buch auch sehr nett an.
Das fesselt dich anscheinend... :-) Natürlich war eval das erste, was ich ausprobiert habe, danach auch etwas härtere Geschütze. :-)
Obwohl mich diese Diskussion sehr daran zweifeln lässt, das das funktioniert ;(
Eine gute Nachricht: Du hast Recht. :-)))
Leider habe ich keine Ahnung von Fonts, deshalb ist folgenden Aussage mit vorsicht zu geniessen.
IMHO würde der ganze Kram nicht anfallen, wenn man den Font korrekt überprüfen könnte und damit den segfault vermeidet. (Bitte nicht lachen)
"Fonts" sind in diesem Fall PostScript- bzw. OpenType-Fonts. Bei beiden Formaten handelt es sich (jeweils!) praktisch um eine komplette Sprache. Das ist, als würde mein Programm ein beliebiges Script starten dürfen und ich müsste vorher garantieren, dass es ohne Fehler läuft - nicht machbar. Fonts gehören zu den komplexesten Dateiformaten, die mir jeweils untergekommen sind. Bestimmt können andere das toppen. Aber das ist schon krass.
Ratti schreibt, das er den Font an freetype übergibt. Wie/womit machst er das?
C in Perl? Ein Modul das in C geschrieben ist?
ImageMagick, bzw. das perl-Modul dafür. IM wiederum verwendet freetype und ghostscript. Anbei etwas fragmentarischen Beispielcode: my $image; my $background='#ffffff'; $image=Image::Magick->new( size => '450x120', background => $background, depth => 8); $image->ReadImage("xc:$background"); $image->Annotate( x => 0, y => 90, pointsize => 90, font => $filename, antialias => 1, fill => 'black', undercolor => $background, text => 'Fontlinge äöüß' ); $image->Write("$image_name"); undef $image; Der "Annotate"-Befehl schreibt einen Text als Bild in ein Image. Dabei kann man nicht nur installierte Fonts angeben, sondern, und das brauche ich, eine beliebige, nicht installierte Fontdatei. Auf die Art erzeuge ich ein paar zehntausend Previews. Siehe Signatur. :-) Bevor die Idee aufkommt: Aufgrund der großen Anzahl der Aufrufe ist ein externes Skript in Backticks nicht akzeptabel. Es würde mehrere zehntausend mal perl starten. Gruß, Ratti -- -o) fontlinge | Font management for Linux | Schriftenverwaltung in Linux /\\ http://freshmeat.net/projects/fontlinge/ _\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/