MorphOS.pl – Polska strona użytkowników MorphOS-a
MorphOS.pl – Polska strona użytkowników MorphOS-a

MorphOS po polsku23 lipca 2014

Od współczesnego systemu operacyjnego wymagamy oczywiście, żeby umożliwiał pracę w naszym ojczystym języku. MorphOS nie jest tu wyjątkiem. Czasem jednak można się natknąć na drobne problemy, w których rozwiązaniu pomoże – mam nadzieję – ten artykuł.

Kodowania znaków

Na początek trochę, niezbędnego niestety, wstępu teoretycznego. Jak wiadomo, komputer przechowuje wszelkiego rodzaju teksty jako ciągi liczb. Sposób przypisania liczby każdemu znakowi pisarskiemu jest kodowaniem znaków. Protoplastą współczesnych kodowań jest standard ASCII, który definiuje 128 różnych znaków (używając do tego 7 bitów). W zestawie ASCII znajduje się 95 znaków drukowalnych, reszta (znaki od 0 do 31 włącznie, oraz znak 127) to kody kontrolne. Jeżeli chodzi o litery, to ASCII zawiera wyłącznie 26 liter alfabetu angielskiego (małe i wielkie). Ponieważ komputery dość wcześnie zaczęły operować na liczbach 8-bitowych (bajtach), naturalną stała się pokusa (zwłaszcza w krajach używających innego języka niż angielski) do wykorzystania „górnych” 128 znaków z 256 jakie można zapisać w bajcie. Ponieważ jednak różne języki używają różnych znaków dodatkowych, jest ich więcej niż 128, zwłaszcza, że przy okazji dodać chciano inne znaki pisarskie, nie będące literami. Efekt tego był taki, że różne kraje używały różnych zestawów znaków, w których pierwsze 128 zazwyczaj pokrywało się z ASCII, a druga połowa była dość dowolna. Tego rodzaju kodowanie nazywa się powszechnie stroną kodową. Strony kodowe zostały ostatecznie znormalizowane przez organizację ISO w normie ISO-8859, jednak wciąż w użyciu jest całkiem sporo stron kodowych nie objętych przez tę normę.

Strony kodowe są rozwiązaniem połowicznym, nastręczają sporo kłopotów przy konwersji tekstu i wciąż ograniczają zestaw znaków, jakim się można posługiwać. Rozwiązaniem jest standard Unicode. W tym standardzie jeden znak nie zajmuje jednego bajtu a cztery. Na czterech bajtach można zakodować ponad 4 miliardy znaków. To wystarcza nie tylko do wszystkich znaków alfabetów opartych na łacinie, ale także greki, cyrylicy, arabskiego, hebrajskiego, jak również alfabetów azjatyckich i wielu innych. Aktualnie standard Unicode definiuje jedynie 14 tak zwanych „paneli” 16-btowych (po 65 536 znaków w każdym), czyli w sumie 917 504 znaki. To oczywiście obejmuje wszystkie wyżej wymienione alfabety i całą masę nie wymienionych… Ponieważ Unicode jest dość rozrzutnym sposobem zapisu tekstu, wymyślono kilka jego wariantów, z których najpopularniejszym jest UTF-8. W tym sposobie zapisu znaki zajmują zmienną liczbę bajtów, przy czym najczęściej spotykane (podzbiór ASCII) zajmują 1 bajt (UTF-8 jest całkowicie kompatybilny wstecz z ASCII). Polskie znaki zajmują w UTF-8 dwa bajty.

W którym miejscu tego wszystkiego znajduje się MorphOS? Aktualnie jesteśmy jeszcze na etapie stron kodowych, z tym, że spora część pracy potrzebnej do przejścia na Unicode została już zrobiona. Prawdopodobnie niedługo będzie możliwa praca w Unikodzie i spora część tego artykułu będzie wymagała rewizji. Na razie jednak skoncentrujmy się na tym, co jest. MorphOS pozwala na wybór strony kodowej wraz z wyborem mapy klawiatury.

Wybór mapy klawiatury

Dla klawiatury polskiej obowiązującą stroną kodową jest ISO-8859-2. Przy instalacji systemu odpowiadamy na dwa pytania dotyczące kraju i języka. Jednym z nich jest pytanie o kraj. Odpowiedź na to pytanie determinuje w jakim języku będzie się zgłaszał sam system i aplikacje. Drugie pytanie, o mapę klawiatury, determinuje, co oczywiste, rozmieszczenie znaków na klawiaturze, ale także stronę kodową systemu. W typowych polskich warunkach odpowiedzi na oba pytania są oczywiste. Polska mapa klawiatury to tzw. klawiatura programisty, a więc polskie znaki otrzymujemy przez wciśnięcie odpowiednich klawiszy liter angielskich z klawiszem Alt, w MorphOS-ie może to być zarówno Alt prawy jak i lewy. Proszę na koniec zwrócić uwagę na zaznaczenie opcji Generuj automatycznie dla czcionek TrueType. Dzięki temu (prawie) każda czcionka TT będzie prawidłowo wyświetlać polskie znaki, o czym niżej.

Czcionki

MorphOS obsługuje dwa rodzaje czcionek: bitmapowe i TrueType. Te pierwsze to zwykłe czcionki jakie znamy z AmigaOS 3, kompatybilność jest stuprocentowa i można używać czcionek z klasyka.\ TrueType to bardzo popularny format czcionek wektorowych (skalowalnych), który rozpowszechnił się z systemami Windows, a obecnie używany jest praktycznie wszędzie. Po instalacji systemu, w katalogu SYS:Fonts (do którego prowadzi też przypisanie FONTS:) znajdziemy kilkanaście czcionek, zarówno bitmapowych, jak i TrueType.

Poprawnie zainstalowana czcionka bitmapowa składa się z pliku z rozrzeszeniem .font, oraz katalogu o nazwie takiej jak czcionka. Na przykład xhelvetica.font i xhelvetica/. Wewnątrz katalogu znajdziemy kilka plików o nazwach będących liczbami, każda z nich to jeden rozmiar czcionki w pikselach. Wewnątrz tych plików zapisane są bitmapy z kształtami wszystkich liter. Warto zauważyć, że plik .font poprawnie zainstalowanej czcionki bitmapowej ma długość w bajtach równą dokładnie 4 + 260 × ilość rozmiarów. Jeżeli to się nie zgadza, oznacza to problem z tym plikiem i np. brak dostępu do niektórych rozmiarów. Jak taką czcionkę naprawić? Jeżeli mamy dostęp do AmigaOS 3, możemy posłużyć się znajdującą się w nim komendą FixFonts i uruchomić ją na MorphOS-ie. Jeżeli nie, możemy z Aminetu pobrać darmowy edytor czcionek bitmapowych Typeface, a następnie wczytać do niego jeden z rozmiarów czcionki i od razu go zapisać, co powoduje regenerację pliku .font. Na program ten warto zwrócić uwagę, gdyż może się nam przydać do dodania do czcionki polskich liter (o czym niżej), albo wręcz stworzenia własnej.

Czcionka bitmapowa może zawierać maksymalnie do 256 znaków, a więc jedną stronę kodową. Z reguły znaki kontrolne o kodach od 0 do 31 są „puste”. W konkretnej czcionce bitmapowej określonemu kodowi znaku ściśle odpowiada jego kształt. Jedyną możliwością zmiany przyporządkowania liter kodom jest edycja kształtu. Dodatkowo MorphOS nie sprawdza (bo nie ma takiej możliwości), jaką stronę kodową zawiera dana czcionka – co zainstalujemy, to będziemy mieli. Oczywiście powinniśmy zainstalować czcionki ze stroną kodową ISO-8859-2 bo taka w systemie obowiązuje dla polskiej mapy klawiatury. Niestety polując na polskie czcionki bitmapowe natkniemy się (z powodów głównie historycznych) na przedziwny miszmasz możliwości. Oto przegląd:

  • Czcionki ze stroną kodową ISO-8859-1. To są po prostu czcionki bez polskich liter, z wyjątkiem małej i dużej litery „ó”. Takie czcionki znajdują się w dystrybucji MorphOS-a, a także np. na dyskietkach systemowych AmigaOS 3, dlatego że strona kodowa zwana kiedyś ECMA Latin 1, z której korzystał AmigaOS, została później ustandaryzowana jako ISO-8859-1.
  • Czcionki w rozlicznych amigowych polskich stronach kodowych, najczęściej w standardzie AmigaPL, ale i wcześniejszych, np. xJP i szeregu innych. W kodowaniu AmigaPL zrobione były np. czcionki z półoficjalnej polskiej lokalizacji AmigaOS, WFMH LocalePL. Zdecydowana większość tych „standardów” polegała na zamianie 16 tak czy inaczej wybranych znaków z ISO-8859-1 na znaki polskie. Takie czcionki będą pod MorphOS-em „krzaczyć”.
  • Czcionki dwusystemowe ISO-8859-2/AmigaPL. Powstawały na przełomie wieków pod wypływem rozwoju Internetu, gdy stało się jasne, że na stronach WWW dominującym stał się standard ISO-8859-2, czcionki takie można było bezboleśnie używać w systemie bazującym na AmigaPL, a jednocześnie przeglądać strony WWW z kodowaniem ISO. Cechą charakterystyczną takich czcionek jest powtórzenie większości polskich liter dwa razy. Niestety między tymi dwoma kodowaniami istnieje konflikt, polegający na tym, że tam, gdzie w AmigaPL jest „ę”, tam w ISO-8859-2 jest „ć”. Czcionki z tej grupy zazwyczaj faworyzowały AmigaPL, w związku z tym użycie ich w MorphOS-ie, owocuje wszystkimi literami „ć” zamienionymi na „ę” (wielkimi również).
  • Czcionki dwusystemowe ISO-1/ISO-2, powstają w ten sposób, że bierzemy czcionkę w kodowaniu ISO-8859-1, a następnie wstawiamy polskie znaki zgodnie z kodowaniem ISO-8859-2. Takie czcionki pracują pod MorphOS-em poprawnie, ale tylko dla Polaków (strona kodowa ISO-8859-2 zawiera również znaki czeskie, słowackie, węgierskie i inne).
  • Czcionki z pełną stroną kodową ISO-8859-2. Tu sprawa jest jasna. Pewną wadą tych czcionek jest to, że nie mają paru popularnych znaków ze strony kodowej ISO-8859-1 na przykład ©, zamiast niego zobaczymy „Š”. Paczka kilku takich czcionek (każda w kilku rozmiarach) znajduje się na MorphOS Files.

Podsumowując tę listę, można stwierdzić, że najlepiej korzystać z czcionek bitmapowych z grupy czwartej i piątej. A co zrobić jeżeli mamy czcionkę z trzech pierwszych grup, a bardzo się nam podoba? Uruchamiamy program Typeface i przestawiamy polskie znaki w odpowiednie miejsca, lub dorysowujemy je na bazie znaków bezogonkowych, zgodnie ze standardem ISO-8859-2. Sprawę ułatwia fakt, że w okienku wyboru znaku używana jest czcionka systemowa, jeżeli więc czcionkę systemową mamy już ustawioną poprawnie, od razu widzimy gdzie mają być polskie znaki. Po zapisie poprawionej czcionki, a przed jej użyciem dobrze jest zrestartować system, aby na pewno użył poprawionej wersji.

Inaczej sprawa się przedstawia w przypadku czcionek TrueType. One co prawda też występują z kilkoma kodowaniami, ale o to się martwić nie musimy. W tym przypadku MorphOS sam wykrywa zestaw znaków, jakim dysponuje czcionka TT, a następnie wybiera z niego zestaw zgodny ze stroną kodową systemu. Wydawałoby się więc, że na żaden problem się tu nie natkniemy, system sam sobie znajdzie polskie litery i powstawia w odpowiednie miejsca. Owszem, ale pod jednym warunkiem, mianowicie takim, że te polskie litery w ogóle w czcionce są! Niestety w wielu czcionkach dołączonych do systemu polskich znaków nie ma, na przykład w całej rodzinie Vera. Zamiast tego należy użyć czcionek rodziny Lux (tak naprawdę Lux to po prostu Vera z dodanymi polskimi znakami, ale nazwa musiała zostać zmieniona ze względu na wymagania licencji). Innym bardzo dobrym rozwiązaniem jest wykorzystanie czcionek z pakietu WebCore Fonts, który jest instalowany przez przeglądarkę OWB. Można też używać innych czcionek TT, po upewnieniu się, że polskie litery w nich są. Upewnić się można programem ViewISO. Ładujemy czcionkę do programu, zmieniamy stronę kodową na ISO-8859-2, następnie wciskamy przycisk Upper Half i sprawdzamy czy są wszystkie polskie litery.

Czcionki TrueType instaluje się w systemie programem FTManager z katalogu SYS:Tools. Pole wyboru strony kodowej na samym dole okna najlepiej pozostawić puste. Wtedy automatycznie zostanie wybrana domyślna strona kodowa systemu.

Ustawienia systemu i MUI

Najważniejsze ustawienia, a więc wybór kraju i mapy klawiatury (a co za tym idzie domyślnej strony kodowej systemu) omówiłem już wyżej. Pozostaje ustawienie odpowiednich czcionek. Niestety w tej dziedzinie panuje pewien bałagan, wynikający głównie z tego, że tematy graficzne (skórki) narzucają często własne ustawienia czcionek w MUI. Problem polega na tym, że bardzo często są to czcionki nie posiadające polskich znaków (na przykład wymieniona wcześniej rodzina czcionek Vera).

Porządek zacząć należy od ustawienia podstawowych czcionek systemowych. W tym celu z menu ekranowego Ambienta wybieramy Ustawienia -> Systemu…, a w otwartym po tej akcji oknie wiedzeni nieomylną intuicją wybieramy ustawienia czcionek oznaczone ikonką litery „A”. Niewiele jest tam do wyboru, domyślna czcionka systemowa jest używana w oknach konsoli tekstowej i powinna to być czcionka o stałej szerokości (tzw. fixed). Czcionka ekranowa natomiast jest w użyciu między innymi na belce ekranu, belkach okien, menu ekranowych i tak dalej, tu z powodzeniem można użyć czcionki proporcjonalnej.

Kolejny krok to główne ustawienia MUI. Docieramy do nich również z menu Ambienta, a więc Ustawienia -> MUI…. Tu do ustawiania jest znacznie więcej, zwłaszcza jeżeli załadowaliśmy jakąś skórkę ustawiającą własne czcionki. W każdym miejscu, w jakim w MUI ustawiamy czcionkę, można pozostawić gadżet pusty. Wtedy MUI używa czcionki normalnej okna (ustawianej w zakładce Okna). A jeżeli i tam jest pusto? Wtedy w ruch idzie czcionka ekranowa systemu, którą zajęliśmy się w poprzednim akapicie. Dla estetycznego wyglądu systemu warto używać jednej czcionki (choć być może w różnych rozmiarach, kolorach i wariantach) we wszystkich ustawieniach MUI. Łatwo to osiągnąć podając nazwę czcionki tylko w ustawieniach dla normalnej czcionki okien. Różne wielkości osiągamy podając same rozmiary, na przykład wpisanie do gadżetu „/14” oznacza „użyj takiej czcionki jak podstawowa, ale w rozmiarze 14”. Można też używać wielkości względnych, na przykład „/-2” oznacza „użyj czcionki podstawowej, ale rozmiar o 2 piksele mniejszy”.

Konsekwentne stosowanie tej metody ma tę zaletę, że jeżeli np. znudzi nam się Arial, wystarczy w jednym miejscu zmienić go na powiedzmy Georgię, a czcionka zmieni się wszędzie, zachowując przy tym style i relacje między rozmiarami. Oto przykładowe ustawienia podstawowych czcionek MUI w panelu Okna:

Przykładowe ustawienia czcionek w MUI

Jak widać wpis dotyczący czcionki normalnej jest pusty. Oznacza to, że zostanie tu użyta systemowa czcionka ekranowa, którą w tym przypadku jest bitmapowy arial/14 z pakietu czcionek ISO-8859-2 wspomnianego wyżej. Jako czcionka mała użyty zostanie tenże arial, ale w rozmiarze 14 − 2 = 12. Czcionka duża to szesnastka tego samego kroju. Jako czcionka o stałej szerokości, w sytuacji braku wpisu, służy domyślna czcionka systemowa, tu jest to andalemono/14, ze wspomnianego pakietu. Wszystkie inne specyficzne ustawienia czcionek MUI dla konkretnych gadżetów można potraktować w podobny sposób. Oczywiście czcionki możemy też konfigurować z okna wyboru (przyciski po prawej). MUI jest na tyle inteligentne, że do gadżetu wprowadzi tylko zmiany jakich dokonaliśmy, np. zmiana koloru nie spowoduje wpisania do gadżetu nazwy czcionki, a tylko kodów koloru.

Uzbrojeni w tę wiedzę, możemy przeczesać ustawienia MUI pod kątem czcionek. W aktualnej wersji MUI (MorphOS 3.0) jest tych ustawień 12, oto kompletna lista:

  • panel Okna, 4 ustawienia głównych czcionek MUI, omówione i pokazane powyżej,
  • panel Grupy, 2 ustawienia, czcionka tytułów ramek grup i czcionka tytułów zakładek,
  • panel Przyciski, 3 ustawienia, czcionka przycisków, suwaków i pasków postępu,
  • panel Listy, 1 ustawienie, czcionka list,
  • panel Menu, 1 ustawienie, czcionka używana w menu kontekstowych i w menu programu o ile zostanie włączona opcja osadzania ich w oknie,
  • panel Pomoc, 1 ustawienie, czcionka dymków pomocy.

To jednak jeszcze nie wszystko, bowiem zewnętrzne klasy MUI również mogą mieć ustawienia czcionek. Po kliknięciu w przycisk Więcej pod listą paneli, załadują się ustawienia wszystkoch klas zewnętrznych zainstalowanych w systemie i w przypadku „krzaczków” w obiektach tych klas, również tam trzeba przeprowadzić rewizję.

Pamiętajmy o tym, że wiele osób, które bawią się w tworzenie nowych skórek, używa języków zachodnioeuropejskich i strony kodowej ISO-8859-1). Często więc taka skórka w swoich ustawieniach MUI może mieć skonfigurowane czcionki bez polskich znaków. Trzeba po prostu uważać przy instalacji…

Ambient

Ambient ma własne ustawienia czcionek używanych do podpisywania ikon (inna czcionka na pulpit, inna na okna), oraz do używania w trybie listy plików. Tu również możemy się natknąć na czcionki bez polskich znaków, należy je więc zastąpić sprawdzonymi krojami pisma. Do ustawień czcionek dla ikon dostajemy się z menu ekranowego: Ustawienia -> Ambienta…, a następnie wybieramy na liście po lewej stronę Ikony i penetrujemy na dole ramkę Rysowanie tekstu. Proszę zauważyć, że w ramce tej są zakładki! W zakładce Pulpit są do ustawienia dwie czcionki (mała używana jest do informacji pod ikonami dysków), w zakładce Okno – jedna. Jeżeli chcemy ustawić czcionkę dla trybu listy plików, w tym samym oknie należy z listy wybrać Lister, wybór czcionki mamy pod gadżetami wyboru kolorów.

Przeglądarka Odyssey Web Browser

Odyssey używa własnego systemu obsługi czcionek (tylko TrueType), który w pełni radzi sobie z Unikodem i wszelakimi stronami kodowymi. Warunkiem jest zainstalowanie czcionek posiadających w sobie polskie znaki. Niestety domyślnie przy skanowaniu dostępnych czcionek w czasie pierwszego uruchomienia przeglądarki, skanowany jest między innymi katalog MOSSYS:Fonts/_ttf, który zawiera te paskudne czcionki bez polskich znaków. Dlatego najlepiej jest wyeliminować skanowanie tego katalogu. Drugi krok to wejście w posiadanie pakietu WebCore Fonts, najłatwiej po prostu kliknąć w ikonę DownloadFonts w katalogu Odyssey, chociaż ściąganie nie zawsze się udaje. Ostatecznie można też zapożyczyć typowe czcionki z innego systemu operacyjnego, czcionki TrueType i OpenType będą działać (przy okazji, w pakiecie WebCore Fonts nie ma czcionki Tahoma, dość popularnej na stronach internetowych). Pozyskane czcionki umieszczamy najlepiej w katalogu SYS:Fonts/_ttf, tam też umieszcza je program DownloadFonts i tam będzie ich szukać OWB. Teraz za pomocą edytora tekstu (np. systemowego Ed-a) edytujemy plik SYS:Applications/OWB/Conf/font/fonts.conf. W okolicach linii 25 natykamy się na tekst

<dir>MOSSYS:fonts/_ttf</dir>

i usuwamy tę linię oraz zapisujemy plik. Następnie z katalogu SYS:Applications/OWB/Conf/font/ kasujemy wszystkie pliki z rozszerzeniem .cache, co zmusi OWB do ponownego przeskanowania katalogów w poszukiwaniu czcionek, ale tym razem będą to tylko czcionki WebCore, dzięki czemu nie będzie żadnch krzaczących niespodzianek, a strony WWW będą wyglądały jak na innych systemach operacyjnych.

Inne kłopoty mogą nas czekać na styku między Odyssey a systemem operacyjnym. OWB pracuje wewnętrznie w Unikodzie, system – w stronie kodowej, w naszym przypadku ISO-8859-2. Zachodzą więc obustronne konwersje. W przypadku braku polskich liter np. w tytułach stron na „tabach” przeglądarki, albo problemach przy wpisywaniu polskich znaków do okienka wyszukiwania, trzeba upewnić się, że w ustawieniach czcionek w preferencjach OWB podana jest strona kodowa ISO-8859-2. Warto też sprawdzić czy zmienna środowiskowa CODEPAGE (Plik ENV:CODEPAGE) również zawiera tekst „ISO-8859-2”.

Grzegorz Kraszewski

Zamieszczone przez: admin, 0 komentarzy

Dodaj komentarz