PS_VIEW
         podglądacz PostScript-owy współpracujący
         z interpreterem PS `Ghostscript'.
         Wersja 2.01

AUTORZY
         P. Pianowski, B. Jackowski
         BOP s. c. Gdańsk, Piastowska 70, tel. (+58) 553-64-11
         P.Pianowski@GUST.org.PL
         B.Jackowski@GUST.org.PL

WSTĘP

Program PS_VIEW ułatwia oglądanie na ekranie dokumentu PostScript-owego przy
użyciu interakcyjnego interpretera języka PostScript z wyjściem na ekran, 
jakim jest Ghostscript. PS_VIEW został napisany w PostScripcie, tak więc
komunikacja z nim odpowiada ogólnym zasadom PostScript-owym.  PS_VIEW jest
prologiem PostScript-owym, tzn. zbiorem definicji procedur tworzących
niestandardowe środowisko, w którym interpretowany jest przetwarzany
dokument. Umożliwia ono podgląd wybranych stron dokumentu wielostronicowego,
powiększanie wybranych fragmentów strony, obracanie dokumentu o wielokrotność
90 stopni, lustrzane odbicie, wydruk zawartości ekranu, restart, undo.

PS_VIEW w bieżącej wersji 2.01
współpracuje z Ghostscript-em w wersjach 2.60, 3.**, 4.**, 5.00, 5.10

INSTALACJA

Opiszemy przykład instalacji programu PS_VIEW w systemie MS DOS na
komputerach PC, gdyż w takim środowisku pracujemy. Zakładamy, że posiadamy
prawidłowo zainstalowaną i działającą instalację Ghostscriptu, tutaj
nie opisujemy instalacji Ghostscriptu. Program GS386.EXE powinien znajdować
się w kartotece do której prowadzi ścieżka dostępu.

Program PS_VIEW instalujemy w oddzielnej kartotece np. o nazwie
`T:\PS_VIEW'.  Kartoteka ta powinna zawierać następujące pliki:

        PS_V200.POL     niniejszy plik, opis w języku polskim
        2PS_VIEW.DOC    skrót opisu w języku angielskim
        PS_VIEW.PS      program PS_VIEW
        PS_LOCAL.PS     plik inicjalizacyjny modyfikowany przez użytkowników
        PS_HELP.PS      plik PostScriptowy zawierający skócony opis instrukcji
                        programu PS_VIEW w języku angielskim 
        GV.PAR          plik parametryczny rozszerzający linię komendy

oraz dodatkowo pliki nie związane bezpośrednio z używaniem PS_VIEW

        GS.PAR          plik parametryczny do oglądania dokumentu
                        bez stosowania PS_VIEW
        GJC.PAR         plik parametryczny do drukarki kolorowej DeskJet550C
        GJ.PAR          plik parametryczny do drukarek
        HP3P_510.PS     plik zawierający korektę marginesów zadruku
                        dla sterownika LJET3 z Ghostscriptem 5.10
                        (użyty w GJ.BAT)
        GAMMA.PS        plik zawierający ustawienie korekty nasycenia barw
                        (użyty w GJC.BAT)

W kartotece, do której ustawiona jest ścieżka dostępu umieszczamy pliki
wsadowe (bacze):

        ANSIPRE.BAT     inicjalizacja klawiatury z wykorzystaniem ANSI.SYS
                        -- bacz wywoływany przez poniższe bacze oglądające
        ANSIPOST.BAT    przywrócenie zwykłej klawiatury
                        -- bacz wywoływany przez poniższe bacze oglądające
        GV.BAT          oglądanie dokumentu jednostronicowego
        GVP.BAT         oglądanie dokumentu wielostronicowego
        GVS.BAT         oglądanie dokumentu wielostronicowego sekwencyjnie

oraz dodatkowo:

        GS.BAT          oglądanie dokumentu bez zastosowania PS_VIEW
        GJ.BAT          drukowanie na drukarce LaserJetIIIp (300 dpi)
        GJ4P.BAT        drukowanie na drukarce LaserJetIVp (600 dpi)
        GJC.BAT         drukowanie na drukarce kolorowej DeskJet550C (300 dpi)

Zakładamy, że zainstalowany jest program ANSI.SYS, tzn. w pliku CONFIG.SYS
znajduje się jedna z linii:

        DEVICE=C:\DOS\ANSI.SYS
        DEVICEHIGH=C:\DOS\ANSI.SYS

z właściwą ścieżką zawierającą plik ANSI.SYS.

W tym pakiecie wymuszone zostało użycie standardowego ekranu VGA.
Możliwe jednak jest używanie PS_VIEW z dowolną kartą SVGA, która znajduje się
w zestawie urządzeń Gostscriptu.
Podczas tworzenia i testowania PS_VIEW korzystaliśmy z wersji Gostscript 5.10,
skompilowanej przez Piotra Strzelczyka, obsługującej wiele kart
graficznych:

  VGA EGA SVGA16 VESA ATIW TSENG TVGA TVGAGRAY CIRR CIRRGRAY VESB VESC VESD.

Na przykład, gdy chcemy zainstalować kartę SVGA z układem Trident, należy
w pliku GV.PAR wpisać

  -sDEVICE=tvga  zamiast  -sDEVICE=vga

oraz ustawić rozdzielczość ekranu:

  -r61  dla rozdzielczości 1024 x 768,
  -r54  dla rozdzielczości  800 x 600,
  -r41  dla rozdzielczości  640 x 480.

POLECENIA PROGRAMU

Polecenia programu PS_VIEW wraz z parametrami podawane są w odwrotnej notacji
polskiej, typowej dla PostScript-u. Polecenie lub ciąg poleceń jest
zatwierdzany i wykonywany po naciśnięciu klawisza ENTER (chyba, że używamy
podstawień znakowych z ANSIPRE.BAT, wówczas wybrane komendy są realizowane
jednoznakowo).

Oto lista poleceń programu, polecenia mogą być poprzedzone jednym lub kilkoma
parametrami: tekstami, nazwami w sensie PS lub liczbami. Do oznaczenia
parametrów użyto dużych liter -- należy zastąpić je właściwą treścią
parametru, polecenia są oznaczone małymi literami i tylko w takiej postaci są
rozumiane przez program. Pod niektórymi poleceniami podano ich równoważniki,
w nawiasach kwadratowych podane zostały nazwy klawiszy, którym przypisano
znaczenie poleceń dzięki użyciu programu ANSI.SYS.

   (FILE_NAME) a
   (FILE_NAME) o

Rozpoczęcie pracy z dokumentem PostScript-owym zawierającym jedną stronę
(lub wiele stron w dostępie sekwencyjnym -- strona po stronie).
Polecenia `a'  oraz `o'  są równoważne i mogą być używane zamiennie.
Nazwę pliku zawierającego dokument należy podać w nawiasach. Jeśli nazwa
pliku zawiera ścieżkę dostępu, to do oddzielania kartotek użyć należy
znaku `/' (ciach), np. `(T:/GS/TIGER.PS) a'  lub `(TIGER.PS) a'.

Zdefiniowanie w linii wywołania parametru SEQ (tzn. napisanie -dSEQ)
wymusza dostęp sekwencyjny do pliku. Możliwe jest wówczas poruszanie
się w obrębie strony oraz przejście do następnej strony dokumentu
(komenda `p') oraz przejście do pierwszej strony (komenda `fp' lub `pf').

Podstawienie w linii wywołania wartości parametrów `INPUT' oraz  `ONEPAGE'
pozwala przekazać nazwę dokoumentu roboczego programowi PS_VIEW, wówczas
używanie komend `a' lub `o' nie jest konieczne.
np. napisanie `-sINPUT=TIGER.PS -dONEPAGE' w linii wywołania jest równoważne
ciągowi komend `(TIGER.PS) a rr'.

   (FILE_NAME) ap
   (FILE_NAME) op
   
Rozpoczęcie pracy z wielostronicowym dokumentem PostScript-owym, np.
wygenerowanym z TeX-owego pliku DVI przy użyciu DVIPS-a. Nazwę pliku podaje
się w sposób opisany wyżej.  Podstawienie w linii wywołania wartości
parametrów `INPUT' (bez definowania `ONEPAGE') pozwala przekazać nazwę
dokoumentu roboczego programowi PS_VIEW, wówczas używanie komend `ap' lub
`op' nie jest konieczne.  np.  napisanie `-sINPUT=BOOK.PS' w linii wywołania
jest równoważne ciągowi komend `(BOOK.PS) ap rr'.

               c
               [F10]

Ponowne wyświetlenie (odświeżenie) ostatnio wyświetlonego ekranu.

               i
               [F11]

Wyświetlenie bieżącej strony w całości bez dodatkowego przeskalowania,
przesuwania, obracania, lustra. Na ekranie pojawi się obraz całej strony
wówczas, gdy jej rozmiar jest zgodny z domyślnym ustawieniem rozmiaru strony
w Ghostscripcie oraz gdy strona znajduje się w domyślnym położeniu,
tzn. punkt o współrzędnych (0, 0) jest w lewym dolnym rogu strony.

               w
               [F12]

Wyświetlenie bieżącej strony w całości. Dokładniej, wyświetlenie strony bez
dodatkowego przeskalowania, przesuwania, jednak obróconej zgodnie z ostatnio
wybranym obrotem lub odbitej lustrzanie (jeśli zastosowano tę transformację,
patrz polecenia `ro', `hf', `vf'). Na ekranie pojawi się obraz całej strony
wówczas, gdy jej rozmiar jest zgodny z domyślnym ustawieniem rozmiaru strony
w Ghostscripcie oraz gdy strona znajduje się w domyślnym położeniu,
tzn. punkt o współrzędnych (0, 0) jest w lewym dolnym rogu strony.

 {(FILE_NAME)} rr
 {(FILE_NAME)} [F3]

Wczytanie z pliku ,,restartowego'' informacji umożliwiających odtworzenie
uprzednio zapamiętanego stanu przeglądania dokumentu, tzn. ustawienie się na
danej stronie w określonej pozycji.  Nazwę pliku restartowego można podać
poleceniu `rr' jako parametr w nawiasach `()'. Jeśli `rr' użyte zostanie bez
parametru, to przyjmowana jest nazwa domyślna, która jest wartością
`restart_name' podstawioną w pliku PS_LOCAL.PS'.  My stosujemy nazwę
`!PS_REST.PS'.  Plik `!PS_REST.PS' zostaje zapisany poprzez użycie polecenia
`wr' lub powstaje w trakcie zakończenia pracy programu za pomocą polecenia
`q'. Pliki restartowe o innych nazwach można tworzyć wykorzystując do tego
celu polecenie `wr'.

 {(FILE_NAME)} wr
 {(FILE_NAME)} [F2]

Zapisanie pliku restartowego zawierającego informacje o bieżącym stanie
przeglądania dokumentu, tzn. numer strony i pozycję ekranu na stronie.
Nazwę pliku restartowego można podać poleceniu `wr' jako parametr
w nawiasach `()'. Jeśli `wr' użyte zostanie bez parametru, to przyjmowana jest
nazwa domyślna ustalona w pliku PS_LOCAL.PS (np. `!PS_REST.PS').  Plik
`!PS_REST.PS' powstaje również w trakcie zakończenia pracy programu za pomocą
polecenia `q'. Pliki restartowe o innych nazwach można wczytywać
wykorzystując do tego celu polecenie `rr'.

        {PAGE} pn
        {PAGE} np
        {PAGE} [F4]

Przejście do strony o numerze kolejnym PAGE w pliku PS. Polecenie to dotyczy
dokumentów wielostronicowych, tzn. takich, do których użyto polecenia `ap'.
Strona wyświetlana jest z zachowaniem bieżącej transformacji (obrót, skala
i przesunięcie ekranu).  Jeżeli parametr PAGE został pominięty, wówczas
wyświetlana jest informacja o numerze bieżącej strony.
Komendy te nie działają w trybie sekwencynym.

               fp
               pf
               [Home]

Przejście do pierwszej strony w dokumencie wielostronicowym. Polecenie
jest równoważne poleceniu `1 pn'.

               lp
               pl
               [End]

Przejście do ostatniej strony w dokumencie wielostronicowym. Polecenie
jest równoważne poleceniu `PAGE pn', gdzie PAGE jest numerem ostatniej
strony dokumentu.
Komendy te nie działają w trybie sekwencynym.

        {INCR} n 
        {INCR} [PgDn]

Przeskok o INCR stron w przód (lub w tył, gdy INCR jest liczbą ujemną) Strona
wyświetlana jest z zachowaniem bieżącej transformacji.  Jeżeli parametr INCR
został pominięty, wówczas program przystępuje do przetwarzania kolejnej
strony w pliku. W trybie sekwencyjnym możliwe jest jedynie przejście do
kolejnej strony w pliku.

        {INCR} p
        {INCR} [PgUp]

Przeskok o INCR stron w tył (lub w przód, gdy INCR jest liczbą ujemną). Strona
wyświetlana jest z zachowaniem bieżącej transformacji.  Jeżeli parametr INCR
został pominięty, wówczas program przystępuje do przetwarzania poprzedniej
strony w pliku.
Komendy te nie działają w trybie sekwencynym.

         {MAG} m 

Ustalenie względnej skali w jakiej ma być przekształcony wybrany fragment
oglądanej strony w wyniku użycia polecenia `v'. MAG jest liczbą rzeczywistą,
jeśli jej wartość należy do przedziału (0,1), to obraz będzie zmniejszony,
dla MAG większego od 1 obraz będzie powiększony, liczb ujemnych nie zaleca
się.  Pominięcie parametru w poleceniu `m' spowoduje wyświetlenie informacji
o bieżącej wartości skali.  Domyślna wartość ustalona jest w pliku
PS_LOCAL.PS poprzez zadanie wartości stałej `mag_factor'. My zastosowaliśmy
wartość 2.

               g 

Wyświetlenie na ekranie (na stronie dokumentu) siatki, która dzieli ekran na
prostokąty oznaczone parami liczb podanymi na obrzeżach ekranu. Siatka tworzy
lokalny prostokątny układ współrzędnych, punkty w tym układzie określa się
w zwykły sposób, podając poziomą, a następnie pionową współrzedną. Siatka ta
ułatwia orientację na ekranie.  Domyślnie, w jednostkach tej siatki podaje
się parametry poleceń `v', `s', `go'.
Jeśli wykonana zostanie komenda `gc', to parametry poleceń `v', `s', `go'
interpretowane są w globalnych jednostkach siatki wyświetlanej poleceniem `gg'.
Komenda `lc' przywraca domyślne używanie jednostek siatki `g'.
W przypadku długiej sesji nieprzerwanej pracy Ghostscript-a, jego linia
dialogowa zbliża się do dolnej krawędzi ekranu. Wówczas zaleca się stosowanie
podwójnego polecenia `c g' zamiast samotnego `g' lub zastosowanie polecenia
[F9] (`rsc').

               gg 
               ggg

Wyświetlenie na ekranie (na stronie dokumentu) siatki centymetrowej (`gg')
lub centymetrowej i milimetrowej (`ggg'). Domyślnie, początek układu
współrzędnych znajduje się w dolnym lewym rogu dokumentu (strony
PostScriptowej).  Początek układu współrzędnych przemieszcza się po wykonaniu
poleceń `igg'  oraz `wgg'. Komenda `dgg' kasuje te zmiany.  Jeśli wykonana
zostanie komenda `gc', to parametry poleceń `v', `s', `go' interpretowane są
w globalnych jednostkach siatki wyświetlanej poleceniem `gg'.  Komenda `lc'
przywraca domyślne używanie jednostek siatki `g'.

   {HOR} {VER} igg 
               wgg
               dgg

Ustalenie nowego początku układu współrzędnych siatki `gg' oraz `ggg'.
Staje się nim punkt o współrzędnych (HOR,VER) w przypadku komendy `igg'
Jeśli polecenie `igg' poprzedzone jest tylko jednym parametrem, to przyjmuje
się, że HOR = VER.  W przypadku braku parametrów przyjmuje się HOR = VER = 0.
Komenda `wgg' ustala początek układu współrzędnych w lewym dolnym rogu ekranu
(lub innym, zgodnie z bieżącym obrotem lub odbiciem).
Komenda `dgg' przywraca domyślne położenie początku układu współrzędnych 
w dolnym lewym rogu dokumentu (strony PostScriptowej).

               gc
               lc

Ustalenie bieżącego układu współrzędnych dla poleceń `v', `s', `go'.
Komenda `gc' przyjmuje globalny układ, wyświetlany za pomocą poleceń
`gg' oraz `ggg'.
Komenda `lc' przyjmuje lokalny układ, wyświetlany za pomocą polecenia
`g'. Domyślnie przyjmowany jest lokalny układ współrzędnych.

   {HOR} {VER} v 
   {HOR} {VER} vu
   {HOR} {VER} [Alt+OpenBracket]

Wyświetlenie wybranego fragmentu bieżącej strony z narastającym
przeskalowaniem domyślnym `mag_factor' lub ustalonym w poleceniu `m'. 
Parametry HOR i VER podają w jednostkach bieżącej siatki
(`g' lub `gg') współrzędne punktu (0,0) w nowym położeniu.  Jeśli
polecenie `v' poprzedzone jest tylko jednym parametrem, to przyjmuje się, że
HOR = VER.  W przypadku braku parametrów przyjmuje się HOR = VER = 0.

   {HOR} {VER} vd
   {HOR} {VER} [Alt+CloseBracket]

Polecenie ,,odwrotne'' do `vu', tzn. polecenie to jest równoważne wykonaniu
`vu' przy bieżącym przeskalowaniu 1/MAG, gdzie MAG jest przeskalowaniem
domyślnym `mag_factor' lub ustalonym w poleceniu `m'. 

   {HOR} {VER} go
   {HOR} {VER} [Tab]

Przesunięcie ekranu do pozycji (HOR, VER). Polecenie to jest równoważne
wykonaniu `vu' przy bieżącym przeskalowaniu MAG=1, gdzie MAG jest
przeskalowaniem domyślnym `mag_factor' lub ustalonym w poleceniu `m'. 

       {SHIFT} s 

Ustalenie, w jednostkach bieżącej siatki, długości SHIFT kroku przesunięcia
ekranu. Dotyczy poleceń `l', `r', `u', `d'.  W przypadku gdy parametr
polecenia `s' zostanie pominięty, program wyświetla informację o bieżącej
wartości kroku.  Domyślna wartość ustalona jest w pliku PS_LOCAL.PS poprzez
zadanie wartości stałej `shift'. My zastosowaliśmy wartość 5.

       {SHIFT} l 
       {SHIFT} [Left Arr]

       {SHIFT} r
       {SHIFT} [Right Arr]

       {SHIFT} u
       {SHIFT} [Up Arr]

       {SHIFT} d 
       {SHIFT} [Down Arr]

Przesunięcie ekranu, odpowiednio, w lewo, w prawo, w górę, w dół o krok SHIFT
(w jednostkach bieżącej siatki) lub, gdy parametr zostanie pominięty, o krok
ustalony w poleceniu `s'.

        {STEP} ro
        {STEP} [Shift+Tab]

Obrót strony o kąt STEP * 90 stopni. Użycie polecenia `ro' bez parametru jest
równoważne `1 ro'.

               hf

Odbicie lustrzane strony w poziomie (nie zmienia pionowych współrzędnych
obrazu)

               vf

Odbicie lustrzane strony w pionie (nie zmienia poziomych współrzędnych
obrazu)

       {INCR} un
       {INCR} [Del]

Odtworzenie stanu sprzed INCR ostatnio wykonanych poleceń zmieniających
oglądaną stronę lub transformację. W ten sposób możliwe jest cofnięcie 
wszystkich ruchów wykonanych w danej sesji. Brak parametru oznacza INCR=1.
Polecenie to nie działa w trybie sekwencyjnym.

        {INCR} re
        {INCR} [Ins]

Przywrócenie stanu osiągalnego poprzez wykonanie INCR ruchów uprzednio
cofniętych poleceniami `un'. Kolejne użycie `un' cofa te ruchy, `re' je
przywraca, itd...  Brak parametru oznacza INCR=1.
Polecenie to nie działa w trybie sekwencyjnym.

               fr

Wyświetlenie ramki obejmującej fragment ekranu, który za pomocą polecenia
`pr' można wydrukować wypełniając stronę A4 z uwzględnieniem marginesów
pola zadruku drukarki (szerokości ok. 6mm).

               bb

Wyświetlenie ramki obejmującej pole (Bounding Box) strony dokumentu.

               pg

Wyświetlenie ramki obejmującej stronę PostScriptową dokumentu, jeśli wielkość
strony została zadana w dokumencie.

 {(FILE_NAME)} pr
 {(FILE_NAME)} [Ctrl+Print Scr]

Wydruk na urządzeniu wybranym jako ,,bieżąca drukarka'' (por. polecenie
`prs') fragmentu ekranu, który wyznaczony jest za pomocą ramki (por.
polecenie `fr'). Wydruk odbywa się na plik o nazwie FILE_NAME lub, gdy nazwa
ta jest pustym łańcuchem `()', na urządzenie podłączone do portu PRN:.
Gdy parametr polecenia `pr' zostanie pominięty, wydruk odbywa się na plik,
lub do portu, zgodnie z opisem urządzenia w pliku PS_LOCAL.PS.
Domyślną drukarką jest HP LASERJET.

   DEVICE_NAME prs

Wybranie ,,bieżącej drukarki'', na której odbywa się wydruk zawartości
ekranu (por. polecenie `pr'). DEVICE_NAME jest jedną z nazw urządzeń
opisanych w pliku PS_LOCAL.PS. Nie muszą to być drukarki. Możliwe jest
,,drukowanie'' do urządzeń takich jak np. `pcxmono' `pcx256' i innych
urządzeń Ghostscript-u.

      (DEVICE) dev

Wybranie urządzenia ekranowego w domyślnej dla Ghostscript-a rozdzielczości.
Jeśli jest to tryb graficzny typu SVGA (np. tvga, tseng, cirr), wówczas
możliwa jest zmiana rozdzielczości poprzez użycie jednej z poniższych
komend `r1280',... `r640'.

               r1280
               r1024
               r800 
               r640 

Zmiana trybu graficznego i rozdzielczości  ekranu: 1280 x 1024 pikseli,
1024 x 768 pikseli, 800 x 600 lub 640 x 480. Polecenia powyższe dotyczą
kart graficznych SVGA zaimplementowanych jako urządzenia Ghostscript-u.

               rsc
               [F9]

Umieszczenie linii dialogowej Ghostscript-u u góry ekranu.
Polecenie to wykorzystuje bezpośrednio własności programu ANSI.SYS,
jest więc związane z systemem MS-DOS (lub sesją DOS w WINDOWS).

               e 

Neutralizacja błędów (czyszczenie stosów interpretera PS). Jeśli to nie
pomaga, to może pomóc ciąg operacji `end e' lub `end end e'.

                q
                [Ctrl+Q]
                [Alt+Q]
                [Alt+F4]

Zakończenie pracy interpretera PS z uprzednim zapisaniem informacji
umożliwiających restart na pliku o nazwie, która jest zapamiętana jako
`restart_name', np. `!ps_rest.ps' (por. polecenia `rr' oraz `wr' ).
 
                x 

Zakończenie pracy interpretera PS. Jeśli to nie pomaga, to na pewno skutkuje
komenda PostScript-owa `quit'.

                help
                hlp
                [Alt+H]
                [F1]
               
Wyświetlenie na ekranie informacji o komendach programu PS_VIEW w postaci
kilkustronicowego pliku PS. Podczas wyświetlania ,,helpa'' można używać
większości komend PS_VIEW.
Użyteczne do przeglądania ,,helpa'' komendy są podpowiadane w prawym górnym 
rogu ekranu. Powrót do normalnej pracy sprzed użycia komendy `help' następuje
poprzez kolejne użycie `help' lub za pomocą komendy `x'.

                ver
                rev

Wypisanie na ekranie numeru bieżącej wersji PS_VIEW lub akltualnej rewizji
Ghostscript-a.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

PREHISTORIA: przed wersją 1.0

Podczas trwania Ósmej Europejskiej Konferencji TeX-owej EuroTeX,
która odbywała się w Sobieszewie w 1994 r. autorzy zdecydowali się
udostępnić program PS_VIEW jako public-domain. Była to ,,robocza''
wersja programu nr 0.996 trudna w użyciu z powodu niedostatecznego
opisu, zwłaszcza instalacji programu, środowiska roboczego itd.

Mimo tych niedogodności program spotkał się z żywym zainteresowaniem
TeX-owców, którzy przyczynili się do rozwoju programu PS_VIEW.

Wietse Dol i Erik Frambach z Holandii zasugerowali możliwość używania
klawiszy strzałek, PdDn, PgUp, itd. do sterowania programem PS_VIEW.
Do tego celu wykorzystuje się możliwości systemowego programu `ANSI.SYS'
przedefiniowania klawiatury. Pliki wsadowe ANSIPRE.BAT i ANSIPOST.BAT
realizują ten pomysł. Oczywiście, program ANSI.SYS powinien być aktywny
(zainstalowany poleceniem w pliku config.sys).

HISTORIA: od wersji 1.0:

Wersja 1.00: 28 marca 1995 r.
  Na konferencji GUST BachoTeX '95 została udostępniona pierwsza
  ,,historyczna'' wersja PS_VIEW.

Wersja 1.01: 4 maja 1995 r.
  Poprawione zostały niektóre komentarze.

Wersja 1.02: 5 czerwca 1995 r.
  1. Określony został ,,drukarkowy'' sposób dyskretyzacji
     szarości i kolorów podczas drukowania z ekranu. Drukowanie
     poprzedzone jest komendą `setscreen' z parametrami właściwymi
     dla danego urządzenia drukującego.
  2. Niepotrzebna stała się wartość `gs312', z komendy `revision' robimy
     użytek wówczas, gdy potrzebne są działania specyficzne dla
     określonej wersji Ghostscript-a.
  3. Wprowadzony został plik konfiguracyjny PS_LOCAL.PS definiujący
     specyficzne dla danej instalacji i użytkownika ustawienia wartości
     niektórych stałych oraz opisane urządzenia drukujące wykorzystywane
     do drukowania zawartości ekranu (komenda `pr').
     Nazwę pliku konfiguracyjnego podaje się w linii komendy poprzez
     ustalenie wartości LOCAL (np. `-sLOCAL=ps_local.ps').
  4. Nowa komenda `prs' (printer select), której parametrem jest nazwa
     urządzenia drukującego opisanego w pliku konfiguracyjnym, wybiera to
     urządzenie jako bieżącą drukarkę.

Wersja 1.03: 18 września 1995 r.
  1. Dołączona została komenda `hlp' wyświetlająca na ekranie trzystronicowy
     plik PS zawierający opis instrukcji PS_VIEW.

Wersja 1.05: 26 października 1995 r.
  1. Uzgodniono z wersją 3.51 Ghostscript-a. Margines drukarek jest sterowany
     tablicą `Margins' występującą w opisie urządzenia (od wersji 3.12).
     Zneutralizowano komendy `setpage' i `setpageparams'.
  2. Zaślepiono niepotrzebne komendy podczas wyświetlania helpa (informacja
     o tym w helpie).
  3. Poszerzono sterowalność operacji `setscreen' o możliwość ustalenia
     kąta rastra (`printer_angle').
  4. Poprawiono komunikaty angielskie w helpach.

Wersja 1.06: 23 lipca 1996 r.
  1. Uzgodniono z wersją 4.xx Ghostscript-a

Wersja 2.00: 29 kwietnia 1998 r.
  1. Obroty, lustrzane odbicia odbywają się na obszarze ekranu.
  2. Początek układu współrzędnych (komenda `g'), który do tej pory
     znajdował się zawsze w lewym dolnym narożniku ekranu, zależny jest
     od położenia strony dokumentu. Jego pozycja zależy od zastosowanych
     przekształceń -- obrotów i symetrii osiowych.
  3. Dołożono komendy `gg' -- siatka centymetrowa oraz `ggg' -- milimetrowa.
  4. Dołożono komendy `igg', `wgg', `dgg' -- inicjalizujące siatkę cm-mm
  5. Dołożono komendy `gc' oraz `lc' przełączające między współrzędnymi
     lokalnymi -- ekranowymi i globalnymi -- na stronie dokumentu.
  6. Dołożono komendę `bb' pokazującą BoundingBox oraz `pg' pokazującą
     rozmiar strony PS (jeśli została ustawiona w dokumencie).
  7. Dołożono sekwencyjny dostęp do plików wielostronicowych.

Wersja 2.01: 25 czerwca 1998 r.
  1. Dołożono komendę `dev' wybierającą urządzenie ekranowe.
  2. Dołożono komendy `ver' oraz `rev' drukujące numer bieżącej wersji
     PS_VIEW oraz bieżącej rewizji Ghostscript-a.
  3. Komunikaty PS_VIEW pisane są na ekran w trybie graficznym.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
                               --- koniec ---