SETFONT(8)

NAZWA
setfont - ładuj font konsolowy ekranu dla EGA/VGA

SKŁADNIA
setfont [-O font+umap.orig] [-o font.orig] [-om cmap.orig] [-ou umap.orig] [-N] [font.new ...] [-m cmap] [-u umap] [-hH] [-v] [-V] X setfont polecenie setfont polecenie

OPIS
Komenda setfont Wczytuje czcionkę z pliku font.new i ładuje do generatora znaków EGA/VGA, a opcjonalnie wypisuje poprzedni font. Może ona również wczytać różne tablice odwzorowań i wypisać zawartość poprzednich.

Jeżeli nie podano żadnych argumentów (lub tylko opcję -N dla jakiejś liczby N), wtedy ładowana jest domyślna czcionka (8xN) (zobacz poniżej). Można podać wiele małych fontów, zawierających tablice unikodowe, a setfont połączy je i wczyta całość. Typowe użycie:

setfont
    Wczytaj domyślną czcionkę.

setfont drdos8x16
    Wszytaj podaną czcionkę (tutaj 448-glifowy [448-glyph] font drdos).

setfont cybercafe -u cybercafe
    Wczytaj podaną czcionkę, który nie posiada mapy unikodowej i dostarcz ją.

setfont LatArCyrHeb-19 -m 8859-2
    Wczytaj podaną czcionkę (tutaj 512-glifowy łączący różne zestawy znaków) i wskaż, że lokalnym zestawem znaków jest ISO 8859-2.

FORMATY CZCIONEK
Standardowym formatem czcionek w Linuksie jest PSF. Posiada on nagłówek opisujący własności fontu takie jak rozmiar znaku, po którym występuje mapa bitowa glifów, po której opcjonalnie występować może tablica odwzorowań unikodowego, dająca wartość unikodową dla każdego glifu. Rozpoznawanych jest również wiele innych (przestarzałych) formatów. Gdy plik wejściowy ma format strony kodowej (prawdopodobnie z rozszerzeniem .cp), zawierającej trzy czcionki o rozmiarach np. 8x8, 8x14 i 8x16, wtedy jedna z opcji -8 lub -14 lub -16 musi być podana, by wybrać jeden z nich. Surowe pliki z czcionkami są plikami binarnymi o rozmiarze 256*N bajtów, zawierającymi obrazy bitowe każdego z 256 znaków, po jednym bajcie na każdą skanowaną linię i po N bajtów na znak (0 < N <= 32). Większość czcionek ma szerokość 8 bitów, lecz z urządzeniem bufora ramki (fb) użyte mogą być inne szerokości.

WYSOKOŚĆ CZCIONKI
Program setfont nie posiada wbudowanych informacji na temat trybów graficznych VGA, ale po prostu prosi jądro o wczytanie pewnej mapy bitowej do pamięci znakowej ROM karty graficznej. Jednak od Linuksa 1.3.1 jądro wie wystarczająco o trybach graficznych EGA/VGA aby wybrać inną odległość lini (line distance). Domyślną wysokością znaku będzie liczba N wyciągnięta z czcionki lub podana jako opcja. Użytkownik jednak może podać inną wysokość znaku H, używając opcji -h.

MAPY KONSOLI
W drodze od wyjścia programu użytkownika do wyświetlenia na konsoli zaangażowanych jest kilka odwzorowań. Gdy konsola jest w trybie utf8 (zobacz start_unicode(1)) wtedy jądro oczekuje, że wyjście programu użytkownika jest kodowane jako UTF-8 (zobacz utf-8(7)) i konwertuje je do Unikodu (ucs2). W przeciwnym razie, 8-bitowe wyjście programu jest zamieniane na 16-bitowe wartości unikodowe za pomocą tablicy translacji. Taka tablica nazywana jest unikodową mapą konsoli (Unicode console map). Są cztery takie tablice: trzy wbudowane w jądro i czwarta, która może być ustawiona, dzięki opcji -m programu setfont. Między tymi tablicami wybiera sekwencja eskejpowa; po wczytaniu cmap, setfont wyrzuci na wyjściu eskejpową sekwencję Esc ( to sprawia, że jest to aktywna translacja).

Przykładami argumentów dla opcji -m są 8859-1, 8859-2, ..., 8859-15, cp437, ..., cp1250.

Jądro znajduje prawidłowy glif dla podanej wartości unikodowej symbolu, który ma być wyświetlony, używając informacji o odwzorowaniu unikodowym czcionki i wyświetla go.

Stare czcionki nie posiadają informacji o odwzorowaniu unikodowym i dlatego istnieją mapy bezpośrednio-do-fontu (direct-to-font maps) (wczytywane także dzięki opcji -m), które dają zgodność (correspondence) pomiędzy bajtami użytkownika, a pozycjami czcionek. Najbardziej powszechną zgodnością jest ta podana w pliku trivial (gdzie wartości bajtów użytkownika są używane bezpośrednio jako pozycje czcionek). Czasami preferowane są inne zgodności, gdyż sprzęt PC video oczekuje, że znaki rysowane będą na pewnych pozycjach fontów.

Gdy podany zostanie argument -m none wczytanie i aktywacja tablicy odwzorowań zostaną powstrzymane. Poprzednia mapa konsoli może być zachowana dzięki opcji -om plik. Te opcje sprawiają, że mapscrn(8) jest przestarzały. (Jednak może być użyteczny przy czytaniu tego podręcznika).

UNIKODOWE MAPY CZCIONEK
Zgodność między glifami w foncie a wartościami unikodowymi jest opisana przez unikodową tablicę odwzorowań. W wielu plikach z czcionkami zawarte są unikodowe tablice odwzorowań, które mogą być wskazane przez opcję -u. Program setfont wczyta taką unikodową tablicę odwzorowań, chyba że podana została opcja -ou none. Poprzednia unikodowa tablica odwzorowań będzie zachowana jako część zapisanego pliku z czcionką, gdy użyta będzie opcja -O. Tablica ta może być także zapisana w oddzielnym pliku dzięki opcji -ou plik. Te opcje sprawiają, że loadunimap(8) jest przestarzały.

Unikodowa tablica odwzorowań powinna przydzielić kilka glifów do 'brakującego znaku' (missing character) o wartości U+fffd. W przeciwnym razie brakujące znaki nie są tłumaczone, dając pogmatwane rezultaty. Zazwyczaj nie jest potrzebna tablica odwzorowań, a unikodowa tablica odwzorowań jest już zawarta w foncie (czasami wskazyje na to rozszerzenie .psfu), więc większość użytkowników nie musi się martwić dokładnym znaczeniem i funkcjonalnością tych tablic. Każdy może dodać unikodową tablicę odwzorowań do czcionki psf używając psfaddtable(1).

OPCJE

-h H
    Zmień wysokość czcionki.

-m plik
    Wczytaj mapę konsoli lub unikodową mapę konsoli z plik.

-o plik
    Zachowaj poprzednią czcionkę w plik.

-O plik
    Zachowaj poprzednią czcionkę i mapę unikodową w plik.

-om plik
    Przechowaj mapę konsoli w plik.

-ou plik
    Zachowaj poprzednią mapę unikodową w plik.

-u plik
    Wczytaj tablicę unikodową opisującą czcionkę z plik.

-v  Bądź gadatliwy.

-V  Wypisz numer wersji i wyjdź.

PLIKI
/usr/share/consolefonts jest domyślnym katalogiem na czcionki. /usr/share/unimaps jest domyślnym katalogiem na mapy unikodowe. /usr/share/consoletrans jest domyślnym katalogiem na mapowania ekranu. Domyślną czcionką jest plik default (lub default8xN gdy podana została opcja -N dla jakiejś liczby N), z możliwym odpowiednim rozszerzeniem (takim jak .psf).

ZOBACZ TAKŻE
psfaddtable(1), start_unicode(1), loadunimap(8), utf-8(7), mapscrn(8)

AUTORZY