Problemy s PostScriptem

Jan Kasprzak kas at foresta.cz
Fri Sep 13 20:10:05 CEST 1996


	Dobry den,

	Mam problem, ktery se vsak netyka TeXu, ale PostScriptu.
Pokud se o PS nezajimate, nemusite cist dale :-)

	Jakym zpusobem lze Windoze 95 prinutit, aby generovaly
rozumny PostScript (to jest vyrastrovatelny pomoci gs 2.6)?
Dival jsem se do PS souboru, generovaneho Wokny, a byl jsem mirne
zdesen: Mimo jine si tam definuji makro /VM? s jednim parametrem.
Toto makro srovna svuj parametr s momentalni velikosti volne
pameti tiskarny (vse v KB) a pokud ma tiskarna mene pameti,
skonci tisk s chybou. A cely zbytek PS souboru je plny konstrukci
typu "18000 VM?" nebo i "30000 VM?". Kdyz zrusim definici /VM?
a nahradim ji necim jako "/VM? pop bind def", text se vytiskne
v poradku (temer, viz dale).

	Dale: V PS souboru jsou definovane nejake fonty (asi TrueType).
Jsou spravne oddeleny pomoci %%BeginResource a %%EndResource.
Problem je v tom, ze tyto fonty jsou definovane uvnit stranky
(mezi %%Page a %%PageTrailer) a stranka je asi uzavrena do
save/restore. Takze na dalsi strance nektere fonty nejsou
(GS je nahradi fontem ugly.gsf). Prisel jsem na zpusob, jak
vytisknout cely text: Pro kazdou stranku nactu znovu PS soubor,
vyhodim z nej vsechno, co je mezi %%Page a %%PageTrailer
krome vnorenych %%BeginResource a %%EndResource a krome
jedne stranky. Takto dostanu PS soubor, obsahujici jednu stranku,
ktery se v poradku vytiskne. Toto opakuji pro vsecnhy stranky
v PS souboru. :(

	A treti vec: PostScript, vygenerovany z W95, se velmi
spatne upravuje pomoci PStoPS. Mam dokument ve formatu
A5 landscape a chtel bych vytisknout na kazdou stranu A4 dve
identicke kopie strany A5 pod sebe (to jest pstops 1:0+0(0,-420)).
Jenze ve vysledku chybi na druhe kopii stranky A5 nektere
casti (obrazky a dalsi). Proste neni to pouzitelne.

	Vi nekdo, jak resit aspon nektere z techto problemu?

	A na zaver jedna dobra zprava: Zjsitil jsem, jak
lze pri tisku Ghostscriptem na LJ4 dosahnout rastrovani
odstinu sedi pomoci Floyd-Steinbergovy distribuce chyby.
Je k tomu potreba ghostscript a balik pbmplus (nebo netpbm).
Cela konstrukce vypada asi takto:

gs -q -dSAFER -dNOPAUSE -sDEVICE=pgm -r600x600 -sOutputFile=- file.ps \
	| pgmtopbm -floyd | pbmtolj -resolution 600 |lpr -Plj4

-Yenya

--
Jan "Yenya" Kasprzak, E-mail kas at foresta.cz, WWW http://www.fi.muni.cz/~kas/
[[[[   System Administrator at Foresta SG, a.s. (tel: +42-5-45222018)   ]]]]
[[[[      Linux Czech WWW Page:  http://www.fi.muni.cz/~kas/linux/      ]]]]
In accord with UNIX philosophy, Perl gives you enough rope to hang yourself.
               --Larry Wall, Randal Schwartz: Programming Perl



More information about the csTeX mailing list