home *** CD-ROM | disk | FTP | other *** search
- [ConvPL] by kravietZ 31.01.96
- (Mazovia)
-
-
- Uniwersalny konwerter
- standardów polskich znaków
- v2.01
-
-
- ConvPL v2.01 jest programem freeware, rozprowadzanym wraz z kodem
- ªródÆowym. To co go wyróºnia od innych tego typu programów, to liczba
- obsÆugiwanych standardów, dowolno₧ì kierunków konwersji i maksymalnie
- uproszczona - choì dajåca wiele moºliwo₧ci - linia poleceñ.
-
-
- :SK£ADNIA:
- ~~~~~~~~~~
-
- cpl <nn>[<konwersja>] [<wejscie.txt>] [<wyjscie.txt>]
-
- Parametr <nn> to dwie cyfry/litery, okre₧lajåce standard ªródÆowy (pierwsza)
- i docelowy (druga) przeprowadzanej konwersji.
-
- Parametr <konwersja> okre₧la rodzaj opcjonalnie stosowanej konwersji
- zakoñczenia linii pomiædzy DOSem a Unixem i Amigå.
-
- Parametry "wejscie.txt" i "wyjscie.txt" to nazwy plików odpowiednio
- ªródÆowego i docelowego.
-
- ********************************************************************
- Podanie tylko jednej nazwy - pliku wej₧ciowego - spowoduje zapisanie
- tekstu po konwersji pod tå samå nazwå.
- ********************************************************************
-
-
- :OBS£UGIWANE STANDARDY:
- ~~~~~~~~~~~~~~~~~~~~~~~
-
- Dostæpne standardy (podajemy dwie cyfry/litery):
-
- 0: bez polskich liter (ASCII,CP473) a: Microvex
- 1: Mazovia b: <Amiga> Amiga PL
- 2: FidoMazovia c: CP/J (Elwro 800 Junior)
- 3: IBM-Latin/2 (CP852) d: <Amiga> FAT
- 4: ISO-Latin/2 (ISO-8859/2) e: Windows 3.0 (CP1250)
- 5: DHN f: <Amiga> XJP
- 6: CSK g: Ventura
- 7: Cyfromat h: Macintosh
- 8: IEA i: TeX PL
- 9: LOGIC j: Corel 2.0
-
- Podanie "?" spowoduje próbæ rozpoznania zastosowanego w tek₧cie standardu.
- Wiæcej na ten temat znajdziesz w pliku qpl.txt.
-
- :skróty:
-
- Zamiast najczæ₧ciej stosowanych konwersji moºna stosowaì skróty. Podajemy
- wówczas tylko jednå literæ:
-
- l: Mazovia na IBM-Latin/2
- m: IBM-Latin/2 na Mazoviæ
-
- x: Mazovia na ASCII
- y: IBM-Latin/2 na ASCII
-
- z: Fido-Mazovia na Mazoviæ
-
- Dowolno₧ì konwersji jest caÆkowita, z jednym wyjåtkiem. Standard ASCII nie
- moºe byì standardem ªródÆowym konwersji (przyczyna jest chyba do₧ì oczywista).
-
- :konwersja zakoñczeñ linii:
-
- ConvPL umoºliwia równolegÆå konwersjæ pomiædzy tekstem spod DOSa, a tekstem
- spod Unixa czy Amigi. Rodzaj docelowej konwersji okre₧lajå parametry:
-
- -: konwersja do tekstu Unixa (Amigi) -> NL
- =: konwersja do tekstu DOSa -> CR+LF
-
- ZmieniÆem wystæpujåce w poprzednich wersjach oznaczenia tych parametrów
- (/,\), poniewaº backslash jest znakiem specjalnym pod U*xem. Nowe ustawienia
- moºna równie Æatwo zapamiætaì: pod U*xem koniec linii to jeden znak (NL),
- wiæc jedna kreska: "-"; pod DOSem så to dwa znaki (CR+LF), ståd dwie
- kreski: "=".
-
- Patrz równieº rozdziaÆ Uwagi, akapit Konwersja Unix<->DOS.
-
- :PRACA W TRYBIE FILTRU:
- ~~~~~~~~~~~~~~~~~~~~~~~
-
- ConvPL moºe pracowaì równieº w trybie filtru. Brak nazw plików we/wy
- spowoduje pobranie tekstu z standardowego urzådzenia wej₧cia - stdin
- (klawiatura) i zapisanie go do standardowego wyj₧cia - stdout (monitor,
- terminal, drukarka). PrzykÆady:
-
- cpl l - kaºda linia wpisywana z klawiatury bædzie
- pojawiaÆa siæ poniºej po wci₧niæciu
- <Enter>, znaki z kodu Mazovia bædå
- zamieniane na IBM Latin 2
-
- cpl l <joke.txt >prn - konwersja pliku joke.txt i wysÆanie
- wyników bezpo₧rednio na drukarkæ (DOS);
-
- cpl l <joke.txt >joke2.txt - równoznaczne poleceniu "cpl l joke.txt"
-
- Je₧li nie chcemy za₧miecaì sobie dysku, wydajemy nastæpujåce polecenia:
-
- cpl l <joke.txt >nul (MSDOS)
-
- Tryb filtru umoºliwia równieº przetwarzanie tekstu w potoku (pipe).
-
- PrzykÆad:
-
- type joke.txt joke2.txt | cpl 14/ >joke3.txt
-
- Przyjmujåc, ºe pliki joke.txt i joke2.txt så napisane oryginalnie
- w Mazovii i pod MSDOSem, takie polecenie spowoduje poÆåczenie obu plików,
- konwersjæ z Mazovii na ISO-Latin-2, i przy okazji z CR+LF -> NL, a nastæpnie
- zapis do pliku joke3.txt.
-
- Uruchamiajåc ConvPL w tym trybie naleºy uwaºaì na pomyÆki takie jak ta:
-
- cpl l joke.txt >prn
-
- -tekst zostanie przekonwertowany zgodnie z reguÆå 13 (skrót "l"), ale na
- drukarkæ nie zostanie wysÆany, gdyº ConvPL bædzie go zapisywaÆ do pliku
- joke.txt a nie na standardowe wyj₧cie. W rzeczywisto₧ci powyºsze (bÆædne)
- polecenie oznacza: konwertuj plik joke.txt, zapisujåc wynik pod tå samå nazwå,
- za₧ na drukarkæ wysyÆaj wyj₧cie przez program normalnie wy₧wietlane na ekranie,
- czyli komunikaty.
-
- Uszkodzenie pliku spowoduje polecenie typu:
-
- cpl l <joke.txt >joke.txt (obie nazwy takie same)
-
- Po prostu, system wyÆoºy siæ na próbie równoczesnego czytania i pisania
- do pliku, a ucierpi na tym tenºe plik.
-
- Pamiætajmy: aby uruchomiì ConvPL w trybie filtru, potok danych musi
- przychodziì ze stdin i wychodziì na stdout. Je₧li nie wiesz o co chodzi,
- to poczytaj o potokach, filtrach oraz roli symboli <, |, > itp.
- w poleceniach DOSa i Unixa.
-
-
- :UWAGI:
- ~~~~~~~
- :komentarz do standardów:
-
- Za definicjæ Amiga PL dziækujæ Marcinowi KådzioÆce <2:484/15.16@fidonet>.
-
- Definicje dodane w wersji 1.75 udostæpniÆ mi Edwin Wierszelis
- <2:482/16@fidonet>, autor konwertera KPN.
-
- "Standard" ASCII to oczywi₧cie zwykÆe literki ASCII, zastæpujåce odpowiednie
- polskie znaki. Taki tekst zwie siæ zwykle "polskawym", a standard okre₧la
- jako CP473 (podstawowa, amerykañska strona kodowa).
-
- Fido-Mazovia jest póÆformalnym standardem, przyjætym w ₧rodowisku sieci
- Fido. Jedyna róºnica w stosunku do klasycznej Mazovii to zamiana znaku
- c' (141) na c-cedilla (135), wynikajåca ze wzglædow technicznych.
-
- Standard IBM-Latin/2 (CP852), rozpowszechniony gÆównie w ₧rodowisku DOSa,
- jest lansowany m.in. przez Micro$oft.
-
- ISO-8859/2, znany teº jako ISO-Latin/2 jest standardem rozpowszechnionym
- zwÆaszcza w systemach unixowych, pracujacych pod X-windowsami. Jest równieº
- standardem zalecanym przez Polskie Normy.
-
- Standard FAT jest jednym z amigowskich dialektów, znalezionym w diskmagu
- pt. FAT przez Edwina Wierszelisa.
-
- Standard Windows 3.0 jest uproszczonå, 8-bitowå wersjå UniCode, zdefiniowanå
- jako strona kodowa 1250 (CP1250). Znany teº jako Windows-EE, czyli strona
- kodowa dla Europy Wschodniej.
-
- Standard DHN jest rozpowszechniony wraz z polskim ChiWriterem.
-
- :konwersja tekstu Unix<->DOS:
-
- Pod Unixem kaºda linijka tekstu koñczy siæ znakiem NL (new line) o kodzie 0xa,
- równoznaczny DOSowemu LF (line feed). Pod DOSem zakoñczenie linii stanowi
- para znaków CR+LF, czyli 0x0d,0x0a. Parametr "-" wymusza zakoñczenie linii
- znakiem NL, za₧ "=" - parå CR+LF. Brak okre₧lonego kierunku konwersji
- nie spowoduje ºadnej zmiany koñców linii w pliku wynikowym. Parametry konwersji
- zakoñczeñ linii dodaje siæ "na trzeciego" do parametrów konwersji standardów.
-
- UWAGA: od wersji 2.1 istnieje moºliwo₧ç wykonywania konwersji zakoñczeñ linii
- bez zmiany standardu polskich znaków. Wystarczy jako standard ªródÆowy
- podaç ASCII - "0" (do tej pory byÆo to niedopuszczalne), za₧ jako drugi
- parametr opcjæ konwersji zakoñczeñ linii "-" lub "=". Drugi parametr,
- podany zgodnie z konwencjå i okre₧lajåcy standard docelowy jest w tym
- wypadku ignorowany. A zatem, kaºdy z poniºszych przykÆadów ma takie samo
- dziaÆanie:
-
- cpl 0- joke.txt
- cpl 00- joke.txt
- cpl 02- joke.txt
-
- czyli konwersjæ zakoñczeñ linii do pojedyñczych NL, bez naruszania
- polskich liter.
-
- :kod ªródÆowy:
-
- Program byÆ z powodzeniem kompilowany Borlandem 3.1, gcc 2.7.0 pod Linuxem
- (a.out) oraz DJGPP pod DOSem (gcc 2.6.3). Proszæ o kontakt w razie wyståpienia
- niekompatybilno₧ci kodu ªródÆowego w innych systemach.
-
- :licznik linii:
-
- Typowy "wodotrysk". Zwalnia pracæ o ok. 30%. Standardowo wyÆåczony, w celu
- wÆåczenia trzeba przekompilowaì ªródÆa bez opcji NO_LINE_COUNT. Licznik jest
- zawsze wyÆåczony podczas pracy w trybie stdin/stdout (czyli zazwyczaj jako
- filtr, CGI itp.).
-
- :inne opcje:
-
- -?, -h,
- /?, --help: wy₧wietlajå listæ wszystkich dostæpnych parametrów,
- skÆadniæ linii komend itp.
- -V, --version: wy₧wietla (na stdout) numer wersji CPL
- -L, --licencja: wy₧wietlanå licencjæ uºytkowania programu.
- -S, --standard: wy₧wietlajå tabelkæ wszystkich obsÆugiwanych
- standardów polskich znaków.
-
- :HISTORIA:
- ~~~~~~~~~~
-
- 1.0 pierwsza wersja (dla pakietu PGP-pl);
- 1.2 definicje standardów przeniesione do polish.c; paræ nowych definicji;
- 1.3 Amiga PL; nowy ukÆad polish.c;
- 1.5 nieco przyspieszona praca; nowy kod ªródÆowy, makefile;
- 1.6 skróty dla najczæ₧ciej uºywanych konwersji; tryb stdin/stdout (filtr)
- 1.7 konwersja miædzy tekstem unixowym (amigowym) i DOSowym
- 1.72 licznik linii
- 1.75 nowe definicje (Win 3.0, FAT, XJP, CP/J);
- 1.76 nowe definicje (Ventura, Macintosh, TeX PL i Corel);
- 1.90 dodana konwersja wielu plikow, pare innych zmian;
- 2.00 napisany w 90% od nowa, usuniæte stare pluskwy, wprowadzone nowe ;)
- dodane rozpoznawanie standardow
- 2.01 kilka dodatków, zmiany w interpretacji niektórych poleceñ
-
- W planach:
- * 'spolszczanie' cyrylicy
- * kody wieloznakowe
- * znaki globalne, exclude
-
- ..............................................................................
- Autor : Pawel Krawczyk <kravietz@pipeta.chemia.pk.edu.pl>
- <2:486/18.4@fidonet>
- Najnowsza wersja : ftp://pipeta.chemia.pk.edu.pl/pub/convpl/cpl201.zip
-
-