home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 January / Pcwk0198.iso / Zadarmo / Convert / CPL.TXT < prev    next >
Text File  |  1996-01-31  |  10KB  |  251 lines

  1. [ConvPL] by kravietZ                                                31.01.96
  2.                                                                     (Mazovia)
  3.  
  4.  
  5.                          Uniwersalny konwerter
  6.                        standardów polskich znaków
  7.                                  v2.01
  8.  
  9.  
  10. ConvPL v2.01 jest programem freeware, rozprowadzanym wraz z kodem
  11. ªródÆowym. To co go wyróºnia od innych tego typu programów, to liczba
  12. obsÆugiwanych standardów, dowolno₧ì kierunków konwersji i maksymalnie
  13. uproszczona - choì dajåca wiele moºliwo₧ci - linia poleceñ.
  14.  
  15.  
  16. :SK£ADNIA:
  17. ~~~~~~~~~~
  18.  
  19.         cpl <nn>[<konwersja>] [<wejscie.txt>] [<wyjscie.txt>]
  20.  
  21. Parametr <nn> to dwie cyfry/litery, okre₧lajåce standard ªródÆowy (pierwsza)
  22. i docelowy (druga) przeprowadzanej konwersji.
  23.  
  24. Parametr <konwersja> okre₧la rodzaj opcjonalnie stosowanej konwersji
  25. zakoñczenia linii pomiædzy DOSem a Unixem i Amigå.
  26.  
  27. Parametry "wejscie.txt" i "wyjscie.txt" to nazwy plików odpowiednio
  28. ªródÆowego i docelowego.
  29.  
  30. ********************************************************************
  31. Podanie tylko jednej nazwy - pliku wej₧ciowego - spowoduje zapisanie
  32. tekstu po konwersji pod tå samå nazwå.
  33. ********************************************************************
  34.  
  35.  
  36. :OBS£UGIWANE STANDARDY:
  37. ~~~~~~~~~~~~~~~~~~~~~~~
  38.  
  39. Dostæpne standardy (podajemy dwie cyfry/litery):
  40.  
  41.          0: bez polskich liter (ASCII,CP473) a: Microvex
  42.          1: Mazovia                          b: <Amiga> Amiga PL
  43.          2: FidoMazovia                      c: CP/J (Elwro 800 Junior)
  44.          3: IBM-Latin/2 (CP852)              d: <Amiga> FAT
  45.          4: ISO-Latin/2 (ISO-8859/2)         e: Windows 3.0 (CP1250)
  46.          5: DHN                              f: <Amiga> XJP
  47.          6: CSK                              g: Ventura
  48.          7: Cyfromat                         h: Macintosh
  49.          8: IEA                              i: TeX PL
  50.          9: LOGIC                            j: Corel 2.0
  51.  
  52. Podanie "?" spowoduje próbæ rozpoznania zastosowanego w tek₧cie standardu.
  53. Wiæcej na ten temat znajdziesz w pliku qpl.txt.
  54.  
  55. :skróty:
  56.  
  57. Zamiast najczæ₧ciej stosowanych konwersji moºna stosowaì skróty. Podajemy
  58. wówczas tylko jednå literæ:
  59.  
  60.              l: Mazovia na IBM-Latin/2
  61.              m: IBM-Latin/2 na Mazoviæ
  62.  
  63.              x: Mazovia na ASCII
  64.              y: IBM-Latin/2 na ASCII
  65.  
  66.              z: Fido-Mazovia na Mazoviæ
  67.  
  68. Dowolno₧ì konwersji jest caÆkowita, z jednym wyjåtkiem. Standard ASCII nie
  69. moºe byì standardem ªródÆowym konwersji (przyczyna jest chyba do₧ì oczywista).
  70.  
  71. :konwersja zakoñczeñ linii:
  72.  
  73. ConvPL umoºliwia równolegÆå konwersjæ pomiædzy tekstem spod DOSa, a tekstem
  74. spod Unixa czy Amigi. Rodzaj docelowej konwersji okre₧lajå parametry:
  75.  
  76.           -: konwersja do tekstu Unixa (Amigi)  -> NL
  77.           =: konwersja do tekstu DOSa           -> CR+LF
  78.  
  79. ZmieniÆem wystæpujåce w poprzednich wersjach oznaczenia tych parametrów
  80. (/,\), poniewaº backslash jest znakiem specjalnym pod U*xem. Nowe ustawienia
  81. moºna równie Æatwo zapamiætaì: pod U*xem koniec linii to jeden znak (NL),
  82. wiæc jedna kreska: "-"; pod DOSem så to dwa znaki (CR+LF), ståd dwie
  83. kreski: "=".
  84.  
  85. Patrz równieº rozdziaÆ Uwagi, akapit Konwersja Unix<->DOS.
  86.  
  87. :PRACA W TRYBIE FILTRU:
  88. ~~~~~~~~~~~~~~~~~~~~~~~
  89.  
  90. ConvPL moºe pracowaì równieº w trybie filtru. Brak nazw plików we/wy
  91. spowoduje pobranie tekstu z standardowego urzådzenia wej₧cia - stdin
  92. (klawiatura) i zapisanie go do standardowego wyj₧cia - stdout (monitor,
  93. terminal, drukarka). PrzykÆady:
  94.  
  95.         cpl l                      - kaºda linia wpisywana z klawiatury bædzie
  96.                                      pojawiaÆa siæ poniºej po wci₧niæciu
  97.                                      <Enter>, znaki z kodu Mazovia bædå
  98.                                      zamieniane na IBM Latin 2
  99.  
  100.         cpl l <joke.txt >prn       - konwersja pliku joke.txt i wysÆanie
  101.                                      wyników bezpo₧rednio na drukarkæ (DOS);
  102.  
  103.         cpl l <joke.txt >joke2.txt - równoznaczne poleceniu "cpl l joke.txt"
  104.  
  105. Je₧li nie chcemy za₧miecaì sobie dysku, wydajemy nastæpujåce polecenia:
  106.  
  107.         cpl l <joke.txt >nul            (MSDOS)
  108.  
  109. Tryb filtru umoºliwia równieº przetwarzanie tekstu w potoku (pipe).
  110.  
  111. PrzykÆad:
  112.  
  113.       type joke.txt joke2.txt | cpl 14/ >joke3.txt
  114.  
  115. Przyjmujåc, ºe pliki joke.txt i joke2.txt så napisane oryginalnie
  116. w Mazovii i pod MSDOSem, takie polecenie spowoduje poÆåczenie obu plików,
  117. konwersjæ z Mazovii na ISO-Latin-2, i przy okazji z CR+LF -> NL, a nastæpnie
  118. zapis do pliku joke3.txt.
  119.  
  120. Uruchamiajåc ConvPL w tym trybie naleºy uwaºaì na pomyÆki takie jak ta:
  121.  
  122.         cpl l joke.txt >prn
  123.  
  124. -tekst zostanie przekonwertowany zgodnie z reguÆå 13 (skrót "l"), ale na
  125. drukarkæ nie zostanie wysÆany, gdyº ConvPL bædzie go zapisywaÆ do pliku
  126. joke.txt a nie na standardowe wyj₧cie. W rzeczywisto₧ci powyºsze (bÆædne)
  127. polecenie oznacza: konwertuj plik joke.txt, zapisujåc wynik pod tå samå nazwå,
  128. za₧ na drukarkæ wysyÆaj wyj₧cie przez program normalnie wy₧wietlane na ekranie,
  129. czyli komunikaty.
  130.  
  131. Uszkodzenie pliku spowoduje polecenie typu:
  132.  
  133.         cpl l <joke.txt >joke.txt (obie nazwy takie same)
  134.  
  135. Po prostu, system wyÆoºy siæ na próbie równoczesnego czytania i pisania
  136. do pliku, a ucierpi na tym tenºe plik.
  137.  
  138. Pamiætajmy: aby uruchomiì ConvPL w trybie filtru, potok danych musi
  139. przychodziì ze stdin i wychodziì na stdout. Je₧li nie wiesz o co chodzi,
  140. to poczytaj o potokach, filtrach oraz roli symboli <, |, > itp.
  141. w poleceniach DOSa i Unixa.
  142.  
  143.  
  144. :UWAGI:
  145. ~~~~~~~
  146. :komentarz do standardów:
  147.  
  148. Za definicjæ Amiga PL dziækujæ Marcinowi KådzioÆce <2:484/15.16@fidonet>.
  149.  
  150. Definicje dodane w wersji 1.75 udostæpniÆ mi Edwin Wierszelis
  151. <2:482/16@fidonet>, autor konwertera KPN.
  152.  
  153. "Standard" ASCII to oczywi₧cie zwykÆe literki ASCII, zastæpujåce odpowiednie
  154. polskie znaki. Taki tekst zwie siæ zwykle "polskawym", a standard okre₧la
  155. jako CP473 (podstawowa, amerykañska strona kodowa).
  156.  
  157. Fido-Mazovia jest póÆformalnym standardem, przyjætym w ₧rodowisku sieci
  158. Fido. Jedyna róºnica w stosunku do klasycznej Mazovii to zamiana znaku
  159. c' (141) na c-cedilla (135), wynikajåca ze wzglædow technicznych.
  160.  
  161. Standard IBM-Latin/2 (CP852), rozpowszechniony gÆównie w ₧rodowisku DOSa,
  162. jest lansowany m.in. przez Micro$oft.
  163.  
  164. ISO-8859/2, znany teº jako ISO-Latin/2 jest standardem rozpowszechnionym
  165. zwÆaszcza w systemach unixowych, pracujacych pod X-windowsami. Jest równieº
  166. standardem zalecanym przez Polskie Normy.
  167.  
  168. Standard FAT jest jednym z amigowskich dialektów, znalezionym w diskmagu
  169. pt. FAT przez Edwina Wierszelisa.
  170.  
  171. Standard Windows 3.0 jest uproszczonå, 8-bitowå wersjå UniCode, zdefiniowanå
  172. jako strona kodowa 1250 (CP1250). Znany teº jako Windows-EE, czyli strona
  173. kodowa dla Europy Wschodniej.
  174.  
  175. Standard DHN jest rozpowszechniony wraz z polskim ChiWriterem.
  176.  
  177. :konwersja tekstu Unix<->DOS:
  178.  
  179. Pod Unixem kaºda linijka tekstu koñczy siæ znakiem NL (new line) o kodzie 0xa,
  180. równoznaczny DOSowemu LF (line feed). Pod DOSem zakoñczenie linii stanowi
  181. para znaków CR+LF, czyli 0x0d,0x0a. Parametr "-" wymusza zakoñczenie linii
  182. znakiem NL, za₧ "=" - parå CR+LF. Brak okre₧lonego kierunku konwersji
  183. nie spowoduje ºadnej zmiany koñców linii w pliku wynikowym. Parametry konwersji
  184. zakoñczeñ linii dodaje siæ "na trzeciego" do parametrów konwersji standardów.
  185.  
  186. UWAGA: od wersji 2.1 istnieje moºliwo₧ç wykonywania konwersji zakoñczeñ linii
  187. bez zmiany standardu polskich znaków. Wystarczy jako standard ªródÆowy
  188. podaç ASCII - "0" (do tej pory byÆo to niedopuszczalne), za₧ jako drugi
  189. parametr opcjæ konwersji zakoñczeñ linii "-" lub "=".  Drugi parametr,
  190. podany zgodnie z konwencjå i okre₧lajåcy standard docelowy jest w tym
  191. wypadku ignorowany. A zatem, kaºdy z poniºszych przykÆadów ma takie samo
  192. dziaÆanie:
  193.  
  194.         cpl 0- joke.txt
  195.         cpl 00- joke.txt
  196.         cpl 02- joke.txt
  197.  
  198. czyli konwersjæ zakoñczeñ linii do pojedyñczych NL, bez naruszania
  199. polskich liter.
  200.  
  201. :kod ªródÆowy:
  202.  
  203. Program byÆ z powodzeniem kompilowany Borlandem 3.1, gcc 2.7.0 pod Linuxem
  204. (a.out) oraz DJGPP pod DOSem (gcc 2.6.3). Proszæ o kontakt w razie wyståpienia
  205. niekompatybilno₧ci kodu ªródÆowego w innych systemach.
  206.  
  207. :licznik linii:
  208.  
  209. Typowy "wodotrysk". Zwalnia pracæ o ok. 30%. Standardowo wyÆåczony, w celu
  210. wÆåczenia trzeba przekompilowaì ªródÆa bez opcji NO_LINE_COUNT. Licznik jest
  211. zawsze wyÆåczony podczas pracy w trybie stdin/stdout (czyli zazwyczaj jako
  212. filtr, CGI itp.).
  213.  
  214. :inne opcje:
  215.  
  216. -?, -h,
  217.     /?, --help: wy₧wietlajå listæ wszystkich dostæpnych parametrów,
  218.                 skÆadniæ linii komend itp.
  219. -V,  --version: wy₧wietla (na stdout) numer wersji CPL
  220. -L, --licencja: wy₧wietlanå licencjæ uºytkowania programu.
  221. -S, --standard: wy₧wietlajå tabelkæ wszystkich obsÆugiwanych
  222.                 standardów polskich znaków.
  223.  
  224. :HISTORIA:
  225. ~~~~~~~~~~
  226.  
  227. 1.0     pierwsza wersja (dla pakietu PGP-pl);
  228. 1.2     definicje standardów przeniesione do polish.c; paræ nowych definicji;
  229. 1.3     Amiga PL; nowy ukÆad polish.c;
  230. 1.5     nieco przyspieszona praca; nowy kod ªródÆowy, makefile;
  231. 1.6     skróty dla najczæ₧ciej uºywanych konwersji; tryb stdin/stdout (filtr)
  232. 1.7     konwersja miædzy tekstem unixowym (amigowym) i DOSowym
  233. 1.72    licznik linii
  234. 1.75    nowe definicje (Win 3.0, FAT, XJP, CP/J);
  235. 1.76    nowe definicje (Ventura, Macintosh, TeX PL i Corel);
  236. 1.90    dodana konwersja wielu plikow, pare innych zmian;
  237. 2.00    napisany w 90% od nowa, usuniæte stare pluskwy, wprowadzone nowe ;)
  238.         dodane rozpoznawanie standardow
  239. 2.01    kilka dodatków, zmiany w interpretacji niektórych poleceñ
  240.  
  241. W planach:
  242.         * 'spolszczanie' cyrylicy
  243.         * kody wieloznakowe
  244.         * znaki globalne, exclude
  245.  
  246. ..............................................................................
  247. Autor            : Pawel Krawczyk <kravietz@pipeta.chemia.pk.edu.pl>
  248.                                   <2:486/18.4@fidonet>
  249. Najnowsza wersja : ftp://pipeta.chemia.pk.edu.pl/pub/convpl/cpl201.zip
  250.  
  251.