Kaûdy z uûytkowników Amigi zajmujâcy sië DTP bâdú grafikâ, z pewnoôciâ posiada w swojej kolekcji kilka lub kilkanaôcie róûnych czcionek wektorowych. Najczëôciej sâ to czcionki w formacie Postscript 1 (Adobe Type Postscript 1), które mogâ byê wykorzystywane niemal przez kaûdy program DTP (PageStream), edytor tekstu WYSWIG (Final Writer, WordWorth), programy matematyczne (EqEdit, MathScript). Oprócz czcionek Postscriptowych moûemy natknâê si na czcionki w formacie Agfa CompuGraphics Intellifont, które mogâ byê wykorzystywane bezpoôrednio przez system w wersji co najmniej 2.04.
Niestety format Intellifont nie jest najszczëôliwszym rozwiâzaniem, poniewaû maîâ pamiëcioûernoôê odbija on sobie na jakoôci, która mówiâc szczerze nie jest zbyt rewelacyjna. Dlatego ci z Was, którzy posiadajâ troszkë wiëcej pamiëci mogâ posîugiwaê sië czcionkami postscriptowymi. Okreôlenie 'wiëcej pamiëci' jest okreôleniem wzglëdnym, jeûeli uûywaê bëdziemy np. 1 czy 2 czcionek postscriptowych w caîym dokumencie, to wystarczy nam i 2 MB. Oczywiôcie przy wiëkszych dokumentach (i co za tym idzie - wiëkszej iloôci czcionek) przyda nam sië znacznie wiëcej niû 2 MB, a takûe karta turbo, (której braki widaê zwîaszcza w momencie odôwieûania ekranu, jak teû przy przygotowywaniu wydruku). Skomplikowane dokumenty, wykorzystujâce sporo czcionek mogâ (na A1200) zajâê nawet kilka godzin.
Trzeba równieû dodaê, iû czcionki wektorowe sâ w tej chwili doôê îatwo dostëpne np. na specjalistycznych kompaktach typu Cliparts&Fonts vol. XXX, bâdú popularnych seriach Aminetów, czy teû na wszelkiej maôci skîadankach doîâczanych do komercyjnych magazynów (Amiga Magazin wersja niemiecka, Amiga Plus CD-ROM, itp.).
Jakkolwiek czcionki dostarczane na tych kompaktach posiadajâ wiele zalet, to jednego im jednakûe brakuje: a mianowicie popularnych skâdinâd w naszym alfabecie ogonków. Wiëc co ma robiê zdesperowany uûytkownik Amigi patrzâcy z zazdroôciâ na ôliczne wydruki PC-owskich kolegów? Uûyê czcionek bitmapowych (posiadajâcych ogonki), czy teû pisaê bez polskich liter? Obydwa wyjôcia sâ raczej nie do zaakceptowania jeûeli nie chcemy aby nasz dokument zostaî okreôlony mianem 'pikasa'.
Mamy przed sobâ nastëpujâce moûliwoôci: pracowicie przerabiaê 'bezogonkowce' na akceptowalne przez nas czcionki z polskimi znakami, lub teû pogîówkowaê i przeprosiê sië z kolegâ PC-owcem. Jedynym warunkiem jaki musimy speîniê jest posiadanie kilku podstawowych programów (o tym za chwilë) oraz hmmm... no tak... programu CorelDraw PL od wersji 3.0 w górë (a co za tym idzie takûe ôrodowiska MS Windows 3.1PL lub 3.11PL). Na szczëôcie nasza stycznoôê z 'lufcikami' ograniczy sië jedynie do przegrzebania katalogu 'WINDOWS/SYSTEM'. Przypominam, iû potrzebny nam pakiet powinien byê w polskiej wersji jëzykowej.
Podczas instalacji Corel umoûliwia uûytkownikowi zainstalowanie czcionek True Type posiadajâcych w swoim zestawie polskie znaki. Naleûy wiëc zwróciê na to uwagë podczas instalacji lub nawet przeinstalowaê pakiet ponownie.
Po instalacji naleûy przejôê do katalogu 'WINDOWS/SYSTEM', a nastëpnie skopiowaê wszystkie pliki posiadajâce rozszerzenia *.TTF oraz *.FOT. Jak sië zapewne domyôlacie bëdzie tego caîkiem sporo - sîusznym pomysîem wydaje sië wiëc zarchiwizowanie wszystkich potrzebnych nam plików np. popularnym RAR-em.
Aby uîatwiê nam przenoszenie danych moûna takûe nakazaê archiwizerowi podziaî archiwum na czëôci odpowiadajâce pojemnoôciom urzâdzenia PC0: czyli 720 KB. Naleûy zaznaczyê w oknie archiwizera interesujâce nas pliki (*.ttf i *.fot), nastëpnie klawiszem F5 wybraê opcjë pakowania na dyskietki.
W okazujâcym sië okienku naleûy wpisaê ûâdanâ liczbë w kilobajtach (polecam '726' - ze wzglëdu na bîâd w Cross Dosie 6.2) a nastëpnie podaê ôcieûkë i nazwë gîównego pliku. We wskazanym przez ôcieûkë miejscu zostanâ utworzone pliki o rozszerzeniach '.RAR' oraz '.Rxx' gdzie xx oznacza numer dysku.
Pliki te moûna juû z czystym sumieniem przegraê na dyskietki a nastëpnie rozpakowaê za pomocâ programu 'UnRar' (dostëpnego np. na Aminecie w katalogu 'util/arc'). Oczywiôcie - jeûeli dostëpu do takowego programu nie mamy to moûemy spakowaê czcionki np. LHA, lub ARJ, lub teû (np. w przypadku braku twardego dysku) nie pakowaê ich w ogóle.
To wszystko jeûeli chodzi o PC-owâ stronë zagadnienia. Przyjmujë, iû wszystkie pliki mamy juû gotowe np. katalogu 'dh1:fonty'. Teraz czeka nas najtrudniejsze zadanie. Programy PC-owe uûywajâ bowiem innych ukîadów klawiatury (zupeînie niezgodnych z USA-PL), co za tym idzie - ustawienie poszczególnych znaków w pliku z czcionkami jest zupeînie inne. Na szczëôcie do naszych zadaï naleûy jedynie zamiana ich miejscami.
Nie ma jednak róûy bez kolców. Po przejrzeniu kilkudziesiëciu plików z czcionkami nie udaîo mi sië znaleúê w nich litery 'î'. Najprawdopodobniej Corel Draw po prostu skîada sobie tâ niezwykle skomplikowanâ formë graficznâ (czyli literë 'î') z innych, dostëpnych znaków (np. 'l' i '/'). Poniewaû literka ta bëdzie nam jednak potrzebna naleûaîoby jakoô obejôê to ograniczenie.
Musimy sië jednak zaopatrzyê w program o nazwie Type Smith w wersji 2.5b. Program ten dostëpny jest na Aminecie w wersji demo, jak teû w peînej wersji na kompakcie 'Aminet 10'. Ostatecznie, moûe to byê dowolny inny program do obróbki czcionek wektorowych - powinien on posiadaê jednakûe moûliwoôci importowania czcionek typu 'True Type', oraz eksportowania w formatach 'CompuGraphics Intellifont' (do wykorzystania ich pod systemem) oraz w formacie 'Adobe Postscript 1'. Mile widzianâ cechâ byîby takûe port Arexx-a lub moûliwoôê wykonywania makr (chyba, ûe lubimy wszystko wykonywaê rëcznie).
Opisywany przeze mnie sposób postëpowania bardzo îatwo da sië przystosowaê do dowolnego edytora czcionek wektorowych. Choê przykîady oparte bëdâ jednakûe na programie TypeSmith 2.5b, wykorzystujâc wbudowany interface Arexx-a, po odrobinie pracy da sië je przystosowaê do innych programów.
Nastëpnym krokiem bëdzie napisanie krótkiego skryptu dokonujâcego konwersji. Algorytm podmiany bëdzie nastëpujâcy (na przykîadzie litery 'â' - kod znaku w czcionkach Corela - 150, kod znaku w standardzie AmigaPL - 226).
/* to jest skrypt rexxowy */
options results
Goto_char 226 /* Skocz do znaku o numerze 226*/
Select_all /* Zaznacz caîy znak */
Cut /* Wytnij wszystko jako zbëdne */
goto_char 150 /* Skocz do znaku o numerze 150 -
czyli litery 'â'*/
Select_all /* Zaznacz caîy znak */
Cut /* Wytnij wszystko (do bufora) */
goto_char 226 /* Skocz do przyszîego znaku 'â' */
paste /* Wstaw znak 'â' z bufora */
Goto_char 97 /* skocz do znaku 'a' */
Get_width 97 /* Pobierz szerokoôê znaku */
szerokoôê=RESULT /* Przekaû wartoôê szerokoôci zmiennej */
Goto_char 226 /* Skocz do znaku 'â' */
Set_width 226 szerokoôê /* Ustaw odpowiedniâ szerokoôê */
Mam nadziejë iû wszystko jest jasne. Pewnego komentarza mogâ wymagaê jedynie linie 9 - 13. Otóû po wstawieniu do wyczyszczonego pole nowego znaku z bufora (komenda 8), szerokoôê znaku pozostaje bez zmian. Moûna sobie wyobraziê co bëdzie gdy np. otrzymamy literë 'â' z ustawionâ szerokoôciâ przecinka (litery bëdâ na siebie nieîadnie wchodziê). W tym celu naleûy wiëc ustawiê odpowiedniâ szerokoôê nowo wprowadzonego znaku.
Skâd jâ wziâê? To akurat jest proste - moûna jâ przecieû odczytaê z szerokoôci znaku odpowiadajâcemu np. 'â' czyli 'a'. Z kolei dla 'Ë' bëdzie to 'E' a dla 'Ô' po prostu 'S'. Aby jeszcze uîatwiê sprawë, naleûaîoby pobieraê szerokoôê znaku nie ze znaków odpowiadajâcych, lecz bezpoôrednio ze znaków które przenosimy.
Powyûszâ receptë naleûy powtórzyê 17 razy (tyle mamy ogonkowców w czcionkach Corela). Moûna to îadnie zapisaê w postaci 1 pëtli, z pobieraniem danych np. z tablicy. Moûna pokusiê sië o rozbudowanie skryptu tak aby automatycznie dokonywaî konwersji i zapisywaî dane w wybranym katalogu. Ja zrobiîem to najprostszym (a zarazem najdîuûszym sposobem). Poniûej publikujë tabelkë, jakie znaki zamieniamy na jakie, oraz z których znaków odczytujemy (linie 10-11 przenieôê za linie 4).
Zakîadam, iû nasze makro jest gotowe i oczekuje na nas w katalogu 'REXX' pod nazwâ 'Corel2AmigaPL'. Wszystko co musimy teraz zrobiê to:
Jak juû wczeôniej wspomniaîem znak 'î' dokonywany jest przez skîadanie (composition) znaków skîadowych. Poniewaû Type Smith umoûliwia takûe zabawë. moûna zîoûyê nasze nieszczësne 'î' np. ze znaków 'l' i '/'. Efekt, zwîaszcza przy duûych rozdzielczoôciach bëdzie jednak ûaîosny. Radzë wiëc po wykonaniu makra przejôê do znaku o kodzie '238' (gdzie przezornie skopiowaliômy literkë 'l') i po prostu dorysowaê przekreôlenie. Moûna przyjâê iû nawet przy caîkowitym braku zdolnoôci graficznych (lub dziedzicznej drûâczce râk) efekt bëdzie caîkiem zadowalajâcy (zwîaszcza w maîych rozdzielczoôciach). Aby uîatwiê sobie zadanie moûna pooglâdaê sobie literkë o kodzie '206' czyli 'Î'.
Po wykonaniu tego zadania musimy juû tylko zdecydowaê sië na odpowiedni format zapisu poprawionych przez nas czcionek. Jeûeli decydujemy sië na wykorzystanie czcionek wektorowych w systemie - naleûy je zgraê na dysk w formacie 'Compugraphics Intellifont'. Naleûy pamiëtaê jednak o znacznym pogorszeniu ich jakoôci.
Znacznie lepszym rozwiâzaniem bëdzie jednak zapisanie czcionki w formacie PostScript 1 (Export/PFB Postscript Type 1 Outline). Warto jeszcze zmieniê 'Encoding Type' na 'Adobe Standard Encoding', oraz potwierdziê opcjë 'Generate Hints'. Wydîuûy to nieco czas potrzebny na wygenerowanie czcionki, lecz pozwoli na zachowanie lepszej jakoôci.
Wartym zastanowienia pomysîem jest utworzenie katalogu zawierajâcego tylko czcionki postscriptowe i zaasygnowaniu go jako np: 'PSFonts:'. Z tak utworzonego urzâdzenia odczytywaê czcionki bëdâ mogîy bez maîa wszystkie waûniejsze programy operujâce na formacie postcriptowym. (Page Stream, Art Expression, Final Writer, WordWorth, EqED). Unikniemy w ten sposób zdublowania identycznych czcionek na dysku.
Naleûy takûe pamiëtaê, iû przy wielokrotnym imporcie i eksporcie plików z czcionkami nastëpuje pogorszenie ich jakoôci (sâ wielokrotnie przeliczane). Aby uniknâê strat w czcionce którâ bëdziemy jeszcze poprawiaê lub przetwarzaê warto zapisywaê je w formacie 'IFF RFF Outline Font', który nie powoduje utraty jakoôci generowanych czcionek.
Tym którzy dotrwali do koïca, ûyczë dobrej zabawy z czcionkami wektorowymi.
Quetzalcoatl
E-Mail:
docent@pluton.pol.lublin.pl
docent@pentak.pol.lublin.pl
PS. Poniewaû pojawiîo sië ostatnio konkurencyjne rozwiâzanie w postaci pliku podstawianego do WordWortha i pozwalajâcego na uûywanie polskich fontów Truetype bez przerabiania chciaîbym dodaê jeszcze dwa sîowa:
Po pierwsze, choê to rozwiâzanie wydaje sië byê îatwiejsze nie naleûy zapominaê iû jakoôê czcionek Postscript zawsze bëdzie lepsza niû zwykîych TrueType'ów (zwîaszcza przy opcji 'Generate Hints').
Druga sprawa, to fakt iû z Postscriptowych postaci fontów moûe skorzystaê wiëcej programów niû z Truetype'ów. Tu odpada fakt dublowania czcionek.
W kwestii wymagaï pamiëciowych - czcionki Postscriptowe wymagajâ odrobinë wiëcej pamiëci oraz czasu procesora, jak jednak wspominaîem îatwo odbijajâ to sobie podwyûszonâ jakoôciâ.
Rozkîad fontów w standardzie TrueType (Windows+CorelPL)
150 - â 205 - ë 154 - Ê 210 - ï 159 - Û 219 - ó 163 - Î 220 - î 170 - Ó 229 - Ô 172 - Â 232 - Ú 174 - Ï 250 - ô 191 - û 252 - ú 202 - ê 199 - Ë