Aktualności Forum Graffiti Publicystyka Teleport
  • Wygładzanie czcionek pod AmigaOS 3.9

03.10.2010 10:15, autor artykułu: mario
odsłon: 3030, powiększ obrazki, wersja do wydruku,

Wygładzanie czcionek, jak powszechnie wiadomo, znacznie poprawia wygląd literek pojawiających się na ekranie. Czcionki takie, nawet przy wielkich rozmiarach, nie mają widocznych "schodków", co najbardziej rzuca się w oczy na monitorach LCD. Dzięki pakietowi AfaOS wygładzanie czcionek stało się także możliwe pod AmigaOS 3.9 (i pewnie każdym 3.x).

Jak to działa?

AfaOS wstawiony w odpowiednie miejsce pliku startup-sequence pracuje jako rezydentny proces, który wygładza wszystkie odpowiednio zainstalowane czcionki TTF (truetype) na każdym ekranie w każdej rozdzielczości. Jest to zatem kolejny patch/łatka na system.

No nie wiem... :/

Pierwsza i najważniejsza sprawa: jeżeli uznasz, że AfaOS zbyt zawala system, nieprawidłowo działa lub ogólnie ci się nie spodoba, to jego odinstalowanie jest bardzo proste. Zanim zabierzesz się do instalacji wykonaj kopię zapasową całego katalogu Fonts i pliku startup-sequence (łatwo wtedy przywrócisz wszystko do poprzedniego stanu). Całkowita instalacja pakietu i czcionek wraz z konfiguracją zajęła mi mniej niż godzinę czasu. Jeśli chodzi o szybkość działania, to oczywiście występuje pewne spowolnienie. Nie polecam używać na procesorach 020 i wolniejszych. Nie wiem jak jest na 040. Użytkownicy UAE/Amithlona śmiało powinni spróbować. Ważne, że spowolnienie nie występuje w sposób ciągły (przy wyświetlaniu każdej literki), a jedynie wczytanie czcionki do pamięci trwa dłużej niż standardowo. Dla przykładu Directory Opus 4 standardowo uruchamiał mi się około dwa razy szybciej niż po użyciu w nim aż sześciu różnych czcionek TTF z wygładzaniem różnych wielkości. Aplikacje MUI mają u mnie minimalne opóźnienie przed pojawieniem się pierwszego okienka (powiedziałbym jednak, że znikome). Wszystko zależy ile różnych czcionek będzie musiał wczytać i wygładzić AfaOS przed wyświetleniem okna programu. Sam AmigaOS otwiera mi się praktycznie tak samo szybko.

Kompatybilność

AfaOS jest ciągle rozwijanym projektem i nie można go uważać za program ukończony i pozbawiony wad. Nie znalazłem programu, z którym AfaOS by w jakiś sposób kolidował. Niektóre stare programy na intuition nie powiększą jednak okna automatycznie, jeżeli ustawiona w systemie czcionka jest zbyt szeroka. Należy dobrze dopasować czcionkę systemową. Z czcionkami pod ikonami WB, na przyciskach MUI itp. można wydziwiać do woli. Wygładzanie działa także pod Opusem 5. Nie należy jednak ustawiać w programie GoldED Studio czcionki wygładzonej jako czcionkę ekranową (jeżeli edytor otwiera się na osobnym ekranie). Może ona nie być wtedy widoczna (widać GoldED sam coś kombinuje z czcionkami na własnym ekranie). Nie nastąpi jednak zwis lub zaburzenie pracy. Problem już raczej nie występuje w najnowszej wersji edytora (tej z pakietu CubicIDE). Podobnie rzecz się ma gdy chcemy ustawić wygładzaną czcionkę jako czcionkę arkuszy w TurboCalcu. Tam najlepiej pozostawić starą XHelveticę.

Błędy

Po pierwsze programik AfaOSLoader musi być wstawiony w odpowiednie miejsce startup-sequence (w przeciwnym razie będą występować dziwnego rodzaju błędy). Ponadto pracując na systemie z wygładzanymi czcionkami czasem pojawia się pewne zaburzenie (tylko w wielolinijkowych polach tekstowych, jak w EditPadzie lub tekst pisanego maila w YAM-ie). Zaburzenie polega na tym, że przy usuwaniu pewnych fragmentów napisanego tekstu w danym polu (używanie klawisza backspace), w poprzedzających lub następujących po nim linijkach występuje pogrubienie tekstu. Napisanie dowolnej litery lub choćby przesunięcie suwaka pola sprawia, że tekst natychmiast się poprawia. Niezbyt dokuczliwe i rzadkie, ale jednak trzeba wymienić jako bug. Aby usunąć go w aplikacjach MUI należy zaopatrzyć się w najnowszą wersję klasy TextEditor i TextInput. Na aplikacje Reaction (jak EditPad) na razie nie ma rady.

Warto także wspomnieć, że pakiet AfaOS nie służy jedynie wygładzaniu czcionek. Pozwala on na odpalanie programów specjalnie pod ten pakiet skompilowanych (w ten sposób można łatwo przeportować program z AROS-a na AmigaOS). Programy te czasem jeszcze nie działają zupełnie stabilnie. Umożliwia także zastąpienie GUI wybranych aplikacji (jeżeli są oparte na MUI) przez port AROS-owego Zune. Do tego może być wymagane pobranie dodatkowych bibliotek ze strony AfaOS (patrz archiwa "afaos_zune"). Ostatnio dodano także własny silnik do wyświetlania ikon PNG (patrz archiwa "iconlib"). Aby ikony PNG renderowane przez AfaOS działały prawidłowo, należy usunąć wcześniej z systemu pakiet PowerIcons (jeżeli jest) oraz wstawić przed linijką SetPatch w Startup-Sequence linijkę uruchamiającą narzędzie MoreLibSpace (czyli "MoreLibSpace >NIL:" jeżeli narzędzie to znajduje się w C:). Ikony PNG będą działały także pod DirectoryOpus Magellan. Niestety zachowywane w plikach .info informacje o ikonach (jak pozycja okna) okazują się częściowo niekompatybilne ze standardem MorphOS-a i PowerIcons.

Wracając jednak do rzeczy zakładam, że w dalszej części tego kursu zajmujemy się tylko wygładzaniem czcionek.

Instalacja

Jeżeli masz już w systemie zainstalowane jakiekolwiek czcionki TTF (tylko ich dotyczy pakiet, stare, amigowe czcionki nie będą wygładzane), nie musisz ich się pozbywać. Możesz je zachować i używać ich równolegle z zainstalowanymi w AfaOS czcionkami wygładzonymi. Ja jednak uznałem to za zbędny bałagan i skasowałem po wykonaniu kopii zapasowej wszystkie zainstalowane czcionki TTF, aby zainstalować je na nowo z AfaOS-em. Jeżeli nie masz czcionek truetype w systemie, upewnij się, że masz w ogóle zainstalowany pakiet TTFEngine. Jeśli nie, zainstaluj go lepiej, kopiując wszelkie biblioteki gdzie trzeba. Pobieramy najnowszą wersję AfaOS ze strony internetowej. Po rozpakowaniu mamy katalogi: arossource, logo, testprog, afa_os i fonts, które (o ile nie interesuje nad kod źródłowy lub "inkludy") możemy spokojnie skasować.

Kopiujemy zawartość katalogu libs do Libs: i c do C:. Na pewno przyda nam się zawartość katalogu prefs, który kopiujemy sobie, gdzie nam się tylko podoba. W katalogu Libs: tworzymy sobie katalog "AfaOS" i kopiujemy do niego zawartość katalogu afa_os_libs. Aby AfaOS zajmował się tylko wygładzaniem czcionek (nie ruszał np. ikon) powinny znaleźć się tam cztery pliki:
afa_system_lib.exe diskfont_lib.exe
exec_lib.exe graphics_lib.exe

Pozostałe mogą zostać skasowane (wszystkie pliki z tego katalogu są ładowane przy starcie AfaOS i zajmują pamięć). Teraz otwieramy w edytorze plik S:Startup-Sequence. Szukamy w nim linijki, która jest:
- po AddDataTypes, Path
- przed VisualPrefs, IPrefs, Birdie, LoadWB
Wklejamy tam te dwie linijki:
Assign >NIL: Afa_OS_Libs: SYS:Libs/AfaOS
C:Afa_OS_Loader

Przykładowo może wyglądać to tak (jeżeli nie masz VisualPrefs lub/i Birdie - nie przejmuj się nimi w tym tekście):
C:AddDataTypes REFRESH QUIET
Path >NIL: C: RAM: SYS:Utilities SYS:Rexxc SYS:System S: itd...
Assign >NIL: Afa_OS_Libs: SYS:Libs/AfaOS
C:Afa_OS_Loader
Run >NIL: C:VisualPrefs
C:IPrefs
C:ConClip
SYS:System/REXXMast >NIL:
Execute S:User-Startup
C:LoadWB
Run >NIL: Birdie ? (...)

Ze względu na zmiany w najnowszych wersjach AfaOS, należy także dorzucić linijkę:
MoreLibSpace >NIL:
tuż przed SetPatch (czyli zazwyczaj na samym początku pliku Startup-Sequence). Resetujemy i... jak widać nic się nie zmieniło (nawet przy czcionkach TTF).

Zasada jest taka:
- stare amigowe czcionki są wyświetlane standardowo (bez udziału AfaOS, bez wygładzania)
- czcionki TTF zainstalowane dla TTFEngine (np. TTFManagerem) także
- czcionki TTF zainstalowane programem Truetype_fontmanager (katalog prefs w archiwum) są wyświetlane standardowo jeżeli akurat nie został uruchomiony AfaOS (czyli nie ma go w startupie) i będą wygładzane jeżeli AfaOS jest uruchomiony.
Jeżeli posiadamy system w AmigaPL, warto w tym momencie zdecydować się na przejście na ISO (przy okazji zabaw z czcionkami). Polecam to każdemu i uważam za konieczność w dzisiejszych czasach. Należy przy tym pamiętać o zmianach nazw plików (tak aby nie posiadały starych liter w AmigaPL, a jedynie nowe, w ISO).

Pobieramy pakiet czcionek truetype z ogonkami (jest ich wiele, takimi bez ogonków chyba nie warto zawracać sobie głowy i prowadzić potem rozróżnienia). Klika przykładowych czcionek jest tu,. Następnie robimy lub pobieramy gotową mapę kodowania czcionek. W powyższym archiwum zawarta jest też keymapa ISO, z którą mapa kodowania czcionek działa na pewno poprawnie. Dodatkowo mapę tę spreparowałem specjalnie tak, aby prawidłowo odczytywane były teksty zakodowane w ISO, AmigaPL, a nawet większość liter kodowania Windows! Plik mapy wrzucamy, np. do Prefs. Czcionki (pliki TTF) umieścimy w Fonts:_truetype. Teraz (jeśli istnieje) kasujemy zawartość katalogu Fonts/cache.

Uruchamiamy Truetype_fontmanager z pakietu AfaOS.
W polu "Source" podajemy: Fonts:_truetype
W "Destination": Fonts:
W "Codepage" wybieramy plik mapy kodowania czcionek, jaką wcześniej pobraliśmy lub zrobiliśmy (nie keymapę).

Teraz musimy niestety dwukrotnie kliknąć na każdą pozycję na liście i wybrać "Install", aby zainstalować poszczególne czcionki. Przy okazji można podać w formularzu nazwę czcionki, pod jaką będziemy ją później widywać (o ile standardowa nam się nie podoba) - pole "Name". Pozostałe pola lepiej zostawić w spokoju. Teraz wybieramy "Quit" i nasze czcionki są już gotowe do użycia. Resetujemy więc, ustawiamy sobie czcionki w ustawieniach WB/Magellana i MUI.

Gotowe.

W razie potrzeby zawsze możemy doinstalować kolejne czcionki tą samą metodą.

Mało wielkości czcionek :/
To tylko iluzja! W rzeczywistości nie interesują nas proponowane wielkości czcionki w ustawieniach fontów dowolnego programu. Podajemy sobie po prostu w polu wielkości czcionki zupełnie dowolną wartość, a AfaOS wyrenderuje nam czcionkę o odpowiednim rozmiarze na żywo (nie zawalamy więc dysku setkami gotowych rozmiarów). Oczywiście wielkość powinna przybierać logiczne wartości (najlepiej w zakresie od 5 do 70). :)

Gładkiego użytkowania.

    
komentarzy: 3ostatni: 13.01.2015 22:24
Na stronie SCENA.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem