Ponieważ Kaz przekonuje mnie, że nie warto trzymać AFM’a dłużej w szufladzie - po drobnych poprawkach zdecydowałem się opublikować jego nowszą wersję.
Jest to ciągle wersja robocza, więc zawiera sporo niedoróbek, które są mi znane, niestety nie mam zbyt wiele czasu, żeby poprawić dostrzeżone błędy i dodać bardziej zaawansowane ulepszenia, do poprzedniej wersji doszło za to wiele nowych pomysłów, jednak nie wszystko w pełni jest zaimplementowane. Program rozrósł się o dodatkowy moduł Atascii Exporter - do zapisu tekstu lub plików binarnych w postaci pliku html i grafiki (w tym formacie nie działa większość opcji), potrafi również odczytać/zapisać pliki *.f80, jak również zapisać czcionkę Atari jako font bitmapowy Windows’a bazując na dostępnych plikach czcionek, które przy okazji zostały poprawione, aby w 100% odpowiadały czcionkom Atari. Możliwa jest też zmiana położenia Polskich liter, tak aby odpowiadały klawiaturze pod Windows. Po szczegóły odsyłam do pliku CzytajTo.txt i poniżej do tego wątku.
AFM jest napisany w VB6 i potrzebuje standardowych bibliotek tego języka - jeżeli ich jeszce nie masz - plik dostępny tutaj: ->link<-
Wymagana jest również biblioteka Comdlg32.ocx, którą w przypadku jej braku w systemie można umieścić w katalogu programu. Od wersji 0.0.192 jest dołączona do programu.
Bibliotek VB nie dołączyłem, żeby zbytnio nie zwiększać rozmiaru paczki. Co do umieszczenia pliku ocx wewnątrz pliku exe to nie wiem czy w VB jest to możliwe. Natomiast program korzysta z plików FON, które są w niego wbudowane przy użyciu pewnej sztuczki - zapisane są jako pliki BMP :), które standardowo można łatwo dołączyć.
Pliki FON w katalogu programu są dla użytkownika i nie mają wpływu na działanie programu. Jeden z nich jest używany w okienku "edytora" w Atascii Exporterze, ale musi zostać zainstalowany. Nie można za to usunąć podkatalogu ATASCII i GIF'ów w nim zawartych. Program musi być uruchamiany z twardego dysku (nie read-only) na którym znajdzie trochę miejsca potrzebnego do zapisania plików.
Fragment listingu programu wygenerowanego Atari Font Mover'em zawierającego dane czcionki zamieniony na html i zewnętrznym programem skonwertowany na png.
Fragment listingu z gry Magazynier wygenerowany przy użyciu czcionki użytej w grze.
Zrzut fragmentu ekranu z edytora tekstu BWord - przykład użycia czcionek bitmapowych (FON) pod Windows.
Dołączone czcionki należy zainstalować w systemie.
Utworzone czcionki bitmapowe (FON) mogą być użyte z programem MEMO Pad. Więc można użyć dowolnej czcionki z Atari. Dla starszej wersji MP jedna czcionka i dla nowszych (obecnie r6 i r8) jedna z dostępnych.
MEMO Pad r8 umożliwia dodatkowo edycję listingu - i tam można użyć czcionki dla wersji r6, bo ten plik się nie zmienił. Tak samo jak dla wersji r6 trzeba tylko skopiować plik czcionki do katalogu MEMO Pad-a i zmienić jego nazwę "ATARINEW.FON" -> "ATARI.FON".
Podgląd i wydruk pliku ATASCII (listingu, binarki) obsługuje ATASCIIView. Przy pomocy Atari Font Mover-a i kilku sztuczek możemy zmienić fonty używane przez ten program.
Do tego oprócz powyższych potrzebować będziemy: - Font/y Atari do podmiany (max 2/exec): np. z własnej kolekcji; lub nowo utworzony/e np. (innym) AFM-em - Atari Font Maker; lub wybrany/e z gotowych: Fonty Atari, Fonty C64. - Narzędzia, które posłużą nam do podmiany bitmap w exec-u ATASCIIView-er-a: Resource Hacker Resource Compiler (GoRC.exe) - Paczka z plikami pomocniczymi (od wersji 0.0.192 pliki dołączone do programu).
Do katalogu AtariFontMover\ATASCII kopiujemy pliki z paczki pomocniczej i plik GoRC.exe
Uruchamiamy AtariFontMover i wczytujemy font, który chcemy przenieść do ATASCIView. Naciskamy "ATASCII to..." i tu naciskając "kolorowe kwadraty" (domyślnie czarne) ustawiamy kolory - "Text Color" na czarny i "Text Background Color" na biały ("Background Color" też można ustawić na biały). "Source Font Char Format" ustawiamy na "bmp" i odznaczamy "For f80 bmp's set 4 bit width" (obie opcje wymagane dla nowszych wersji programu). Opcja "Html / Bitmap" powinna być zaznaczona. Pozostałe opcje nas nie interesują, bo w tym przypadku nie interesuje nas generowany html. Dla wygody możemy odznaczyć opcje "File / Editor" (wymaga ustawienia EOL) i "Show Preview in Browser".
Naciskamy "Generate..." i w tym momencie program wygeneruje bitmapy w podkatalogu ATASCII, do którego przechodzimy i uruchamiamy jeden z plików .bat: afm-copy-to-normal.bat - gdy chcemy zastąpić podstawowy zestaw znaków, afm-copy-to-international.bat - gdy chcemy zastąpić międzynarodowy zestaw znaków. Teraz Przechodzimy do Resource Hacker-a i otwieramy kopię ATASCIIView.exe. Z menu RH wybieramy "Action" -> "Update All Resources...", wskazujemy nowo utworzony plik .res (w katalogu ATASCII AFM-a) i zapisujemy nowego exe-ka. Aby zmienić drugą z czcionek procedurę należy powtórzyć dla innej czcionki i używając drugiego pliku .bat, importując drugi z plików .res. Oczywiście można pozostać przy zmianie tylko jednej z czcionek np. jako mniej używanej - international.
W załączniku przykładowa wersja z podmienionymi czcionkami - główna - ASPGOTH.FNT i druga CASUAL.FNT. Wybrałem te, bo w pierwszej wszystkie znaki są zgodne ze standardem ATASCII, a drugą dowolną (na obrazku w odwrotnej kolejności).
Czcionki w ATASCIIView wybieramy (po wczytaniu pliku) "Options" -> "Display..." i "Default" lub "International" (dla każdego otwartego pliku osobno).
Notka: Pliki czcionki standardowej mają większą głębie kolorów, niż te wygenerowane z AFM-a, ale nie ma to znaczenia. Czcionka international standardowo jest 2 kolorowa.
Atari Font Mover wersja 0.0.192 Dokładnie jutro minie rok od wprowadzenia poprawek... Poprawki głównie dotyczą problemów z wygenerowanym plikiem html, dochodzą też dodatkowe opcje generatora kodów Basic-a.
Wersja 0.0.193 - czcionki o szerokości = 4 (f80) przy generowaniu pliku html (tylko bitmapy), są zapisywane z szerokością = 4 (i odpowiednio plik html).
Podgląd czcionki regular.f80 z The Last Word w programie OpenOffice, z którego wydruk wygląda bardzo dobrze (nie jest rozmyty i nie ma ramek, które są widoczne na podglądzie). Niestety OO nie radzi sobie z większymi plikami (więcej ramek), co zupełnie go dyskwalifikuje.
Podgląd z przeglądarki Opera, która radzi sobie z większymi plikami, niestety rozmywa bitmapy dając "kropkowany" wydruk.
Podgląd z przeglądarki Firefox, która mimo, że wyświetla z rozmyciem (podobnie jak konkurenci), drukuje prawidłowo, bez rozmycia, czyli z testowanych programów wypada najlepiej.
(Na podglądach plik ascii.bin skonwertowany AFMov-em do pliku ATASCII.HTM)
Ponieważ w tej wersji AFMov-a nie było możliwości wyłączenia powyższej opcji, dla tych co potrzebują zapisać czcionki f80 w bitmapach 8x8 (np. do ATASCIIView) powstała nowa wersja.
MEMO Pad raz jeszcze. Tym razem o czcionkach dołączonych do niego oraz odpowiednikach dołączonych do AFMov-a.
(Czarno-białe znaki nie odpowiadają oryginalnym.)
MEMO Pad r4:
MEMO Pad r6-r8 (w tych wersjach plik czcionek nie uległ zmianom):
Kolejne dwie czcionki odpowiadają czcionkom z Atari ST (w załączniku).
Pliki fon dołączone do AFM-a zawierają poprawione czcionki MEMO Pad-a dla małego Atari (podgląd w załączniku). Ponieważ nie znalazłem oryginalnych czcionek ST, te są bez zmian (o ile zmiany byłyby konieczne). Czcionka ATARI.FON jest przeznaczona dla wersji r4, ATARINEW.FON dla wersji r6-r8 (tak jak opisałem wyżej trzeba skopiować plik fon do katalogu MEMO Pad-a i zmienić nazwę pliku na ATARI.FON).
Prostą alternatywą do utworzenia bitmapy z listingiem jest online-owa "maszynka" ->link<- , która wykorzystuje standardowy font Atari. Niestety czcionki nie można zmienić, nie ma też możliwości wygenerowania kodów kontrolnych.
Do testu zgodności znaków użyłem załączonego pliku, w którym znak końca wiersza "ESC" w inverse został zastąpiony zwykłym. Uzyskaną bitmapę skonwertowałem na font przy pomocy G2F i porównałem z oryginałem przy pomocy AFMov-a. Font jest w 100% zgodny z oryginałem (bez EOL-a).