[QueryPL] by kravietZ                                               15.10.96

ISO-8859-2 (ISO-Latin-2)

                           Narzdzie do rozpoznawania
                           standardw polskich znakw
                                     v2.03



QueryPL v2.03 jest programem freeware, rozprowadzanym wraz z kodem
rdowym. Suy do rozpoznawania standardu kodowania polskich znakw
w plikach tekstowych, jeli standard ten jest nieznany lub niepewny.

:SKADNIA:
~~~~~~~~~~

             qpl [-] [plik1.txt] [plik2.txt ...] [-v | -b]

Argumentem polecenia s nazwy plikw, ktrych standard kodowania ma 
by rozpoznany. Ograniczeniem dla iloci nazw jest dugo linii 
polece i wielko pamici. Po nazwach plikw mog nastpowa trzy 
opcjonalne argumenty:

        -v      wywietlenie tabeli zgodnoci znakw, na podstawie 
                ktrej wyznaczany jest standard badanego tekstu

        -b      podanie wyniku analizy w postaci parametru dla
                programu ConvPL - cyfry lub litery; opcji tej mona
                uzy do automatycznego konwertowania plikw
                o nieznanym standardzie, podstawiajac uzyskany znak
                do linii polece CPL jako standard rdowy; patrz
                dokumentacja ConvPL; opcja -b automatycznie wycza
                opcj -v; opcje -b i -v s automatycznie wyczane
                gdy badany ma by wicej ni jeden plik

Podanie "-" zamiast nazwy pliku powoduje prac w trybie filtru - 
dane bd pobierane ze standardowego wejcia.

:ALGORYTM:
~~~~~~~~~~
Zasada dziaania jest nastpujca: zliczane s wszystkie wystpienia
wszystkich polskich znakw narodowych. Poniewa znaki powtarzaj si
w rnych standardach, kade znak jest zliczany oddzielnie dla kadego 
ze standardw. Obecne w tekcie znaki o funkcji innej ni polskie litery 
(np. ramki), ale wchodzce w skad ktrego ze standardw mog spowodowa
zafaszowanie wynikw zwykego zliczania. Dla uniknicia takich zmian
liczba wystpie kadego znaku jest mnoona przez przypisany znakowi
wspczynnik, odzwiercielajcy czsto jego wystpowania w przecitnym
polskim tekcie. Nastpnie wystpienia wszystkich znakw s sumowane 
w obrbie standardw. Wygrywa standard o najwikszym wyniku - czyli
najbardziej przypominajcy ten obecny w tekcie.

Tabel zlicze znakw wywietla opcja -v. W ostatniej kolumnie znajduje 
si suma kadego wiersza. Pozwala to na samodzielne ocenienie wynikw 
zliczania w szczeglnie problematycznych przypadkach.

:UWAGI:
~~~~~~~

1) Winietka programu i wszystkie informacje s wywietlane na stderr,
dziki czemu s "niewidzialne" przy zrzucaniu wyjcia do pliku,
filtrowaniu itp. Tabela zgodnoci (-v) i wynik - parametr dla ConvPL (-b)
s natomiast wywietlane na stdout (nigdy razem, bo jedno wyklucza drugie).

2) QPL jest rozprowadzany razem z konwerterem ConvPL. Zdecydowaem si
na rozprowadzanie go w postaci odrbnego programu z powodw praktycznych.
Jako taki, moe on mie wiksze moliwoci, wicej zastosowa i bogatsz
lini polece. Wspprac midzy obydwoma programami - w celu np. automatyzacji
konwersji mona bardzo atwo zapewni sobie za pomoc skryptw (U*x) lub baczw
(MSDOS/4DOS). 

Wraz z cpl i qpl jest rozprowadzany prosty skrypt "cpn", ktry pozwala 
na automatyczn konwersj plikw o rnych, nieznanych standardach
na jeden standard.

Wynik przeszukiwania w przypadku wielu plikw zostaje wysany na 
stderr, wic nie mona go skierowa do pliku czy do potoku. Mona 
wykorzysta do tego celu przekierowanie wyjcia (Unix). Na przykad:

        $ cd /usr/src/cpl204
        $ qpl doc/* 2>&1 | grep "ISO-Latin" 

doc/cpl.txt              12267     standardowa   ISO-8859/2 (ISO-Latin-2)
doc/qpl.txt              5528      standardowa   ISO-8859/2 (ISO-Latin-2)

Troch podobne moliwoci udostpniaj 4DOS i NDOS.

3) Rozrnienie standardw DHN i Logic oraz FX i KWK jest trudne, bo skadaj 
si one z tych samych znakw w innej kolejnoci. QPL zazwyczaj trafnie 
rozpoznaje rnic w przypadku przecitnej dugoci tekstw, jednak w wyniku 
podaje na wszelki wypadek obie moliwoci.

4) Opcje -b i -v s wyczane, jeli w linii polece wystpuje wicej
ni jeden plik. Ponadto opcje -b i -v wykluczaj si nawzajem

5) Nie ksztac si na kierunku majcym cokolwiek wsplnego z informatyk,
a oba algorytmy sam sobie wykombinowaem. W zwizku z tym przyjmuj kady
zarzut o nieefektywno, brak oryginalnoci, poziom przedszkola itp. byle
na odpowiednim poziomie merytorycznym. ;)

Historia:
1.0     pierwsza wersja
2.00    obsuga znakw globalnych
2.02    usunicie -s (statystyka jest teraz uywana zawsze)
        drobne zmiany w dziaaniu opcji -b (nie wywietla winietek itp.)
        nowe standardy
2.03    poprawiona kompilacja pod rnymi wersjami Linuxa

QueryPL jest rozprowadzany na tych samych warunkach co ConvPL.
S one wywietlane po wydaniu polecenia: cpl --licencja.

..............................................................................
Autor            : Pawel Krawczyk <kravietz@ceti.com.pl>
                                  <2:486/23@fidonet>
Najnowsza wersja : ftp://pipeta.chemia.pk.edu.pl/pub/convpl/
                   http://ceti.com.pl/~kravietz/cpl.html

