SETFONT(8)

NAZWA
setfont - ładuje czcionkę konsolową 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] [-C console] [-hH] [-f] [-v] [-V]

OPIS
Polecenie setfont wczytuje czcionkę z pliku font.new i ładuje ją do generatora znaków EGA/VGA oraz opcjonalnie wypisuje poprzednią czcionkę. Może 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 czcionek, zawierających tablice unikodowe, a setfont połączy je i wczyta całość. Typowe użycie:

setfont
    Wczytuje domyślną czcionkę.

setfont drdos8x16
    Wczytuje podaną czcionkę (tutaj 448-glifowa [448-glyph] czcionka drdos).

setfont cybercafe -u cybercafe
    Wczytuje podaną czcionkę, który nie ma mapy unikodowej, oraz podaną mapę.

setfont LatArCyrHeb-19 -m 8859-2
    Wczytuje podaną czcionkę (tutaj 512-glifowa czcionka łącząca różne zestawy znaków) i określa, że lokalnym zestawem znaków jest ISO 8859-2.

Uwaga: jeśli czcionka ma więcej niż 256 glifów, to tylko 8 z 16 kolorów będzie można użyć jednocześnie. Może to pogorszyć postrzeganie konsoli (utrata intensywności albo i nawet niektórych kolorów).

FORMATY CZCIONEK
Standardowym formatem czcionek w Linuksie jest PSF. Zawiera on nagłówek opisujący własności czcionki, takie jak rozmiar znaku, po którym występuje mapa bitowa glifów, po której opcjonalnie występować może tablica odwzorowań unikodowych, 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 zawiera 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ść linii (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ść H znaku, 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 unicode_start(1)), to 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 sterująca; po wczytaniu cmap, setfont wyrzuci na wyjściu sekwencję sterującą "Esc ( K", co 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 zawierają informacji o odwzorowaniu unikodowym i dlatego istnieją mapy bezpośrednio-do-czcionki (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 czcionek.

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 czcionce 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

-N, --default8x=N
    Wczytuje domyślną czcionkę (default8xN).

-hN, --font-height=N
    Przesłania wysokość czcionki. Krótka postać opcji nie może mieć spacji między przedrostkiem a liczbą.

-d, --double
    Podwaja rozmiar czcionki, replikując wszystkie jej piksele pionowo i poziomo. Jest to odpowiednie dla wyświetlaczy o dużej gęstości pikseli (np. „4k”), na której standardowe czcionki są zbyt małe, aby były czytelne. Ze względu na ograniczenia w jądrze, jest to odpowiednie tylko dla czcionek 16x16 lub mniejszych.

-o, --output-font=PLIK
    Zapisuje poprzednią czcionkę do PLIKU.

-om, --output-consolemap=PLIK
    Zapisuje mapę konsoli do PLIKU.

-ou, --output-unicodemap=PLIK
    Zapisuje poprzednią mapę unikodową do PLIKU.

-O, --output-fullfont=PLIK
    Zapisuje poprzednią czcionkę i mapę unikodową do PLIKU.

-m, --consolemap=PLIK
    Wczytuje mapę konsoli lub unikodową mapę konsoli z PLIKU.

-u, --unicodemap=PLIK
    Wczytuje tablicę unikodową opisującą czcionkę z PLIKU.

-C, --console=URZĄDZENIE
    Ustawia czcionkę dla wskazanej konsoli. (Może wymagać uprawnień administratora).

-f, --force
    Wymusza załadowanie mapy unikodowej: setfont wysyła wywołanie systemowe w celu załadowania mapy unikodowej nawet, jeśli podana mapa jest pusta. W nietypowych przypadkach może być tu użyteczne.

-R, --reset
    Przywraca mapowanie Unicode, rozmiar i czcionkę ekranu do domyślnych wartości z rozruchu.

-v, --verbose
    Więcej szczegółów.

-V, --version
    Wyświetla informacje o wersji i kończy działanie.

-h, --help
    Wyświetla komunikat opisujący opcje i wychodzi.

UWAGA
Sprzęt video PC pozwala na użycie bitu „intensywności” albo w celu oznaczenia jasności, albo aby pozwolić na 512 (zamiast 256) glifów w czcionce. Tak więc, jeśli czcionka ma więcej niż 256 glifów, to konsola będzie zredukowana do 8 (zamiast 16) kolorów.

PLIKI

/usr/share/kbd/consolefonts
    Domyślny katalog czcionek.

/usr/share/kbd/unimaps
    Domyślny katalog map unikodowych.

/usr/share/kbd/consoletrans
    Domyślny katalog przypisań ekranowych.

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), unicode_start(1), loadunimap(8), utf-8(7), mapscrn(8)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Grzegorz Goławski <grzegol@pld.org.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.