postscript fájl utf8 kódolás?

Sziasztok!

Csináltam egy postscript dokumentumsablont amibe egy perl szkript dinamikusan tölti fel az adatokat (név, cím). A gond az, hogy az adatok utf8-ba vannak és a .ps meg nem támogatja az utf8-at amennyire sikerült kiderítenem. Van valami program ami átfordítja az utf8-at a ps megfelelőjükre?

Én sajnos nem találtam semmit.

Hozzászólások

Anno csináltam ilyet. Ritka ronda, ha kell privátban keress meg.
(Olyan ronda, hogy nem raknám ki ide :)

Nem lenne korrektebb (és szebb és rugalmasabb), ha a sablont TeXben csinálnád meg, azt töltenéd ki a perl szkripttel és aztán lefordítanád?

Így nem kéne aggódnod a kódolás miatt, mert csak két sort kell beszúrni a sablon preambulumába, a többit a TeX elintézi.

Ezt próbáld ki olyan esetben is, amikor pl. nekem kellett: totál kész, évek óta működő rendszer, de egyszercsak (technikai okokból) a régi Latin2 kódolást felváltja a Utf8.
Aki PS-ben kódol, általában saját rutint használ a szövegek megjelenítésére, nem simán "(itt egy string) show" megoldást, ha másért nem, a tömörség kedvéért (PS-ben élg gyakori pl. a "/S{show}bind def" féle megoldás.
Ilyenkor pont jó, hogy elég a saját definíciónkat felülbírálni egy átkódolással, és egyébként nem kell a kódhoz nyúlni.
(Én pl. sokszor csak PS-template-ért feleltem, a mögöttes kódért nem.)

egyrészt lehet olyat, hogy recode nevű progival átkódolod a kész ps fájlt, másrészt úgy tudom (nem szakértek hozzá) hogy perl-het van iconv interfész.

Ha nem a Postscriptnek valamilyen saját kódolásáról van szó, hanem egy szabványos, nem utf8 kódolásról, akkor a Perl Encode modulja(i) aránylag egyszerű megoldást kínálhatnak. Sőt, talán annyi is elég lehet, hogy a megfelelő PerlIO layerrel nyitja meg írásra a kimeneti fájlt (

open my $out, ">:encoding(latin1)",   $outfile or die;

).

A perl scriptbe kell rakni iconv supportot, vagy kell ele rakni egy interface-t, ami fordit. Esetleg beallitod a terminalodat latin2-re :-)
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.