Arch manual pages

SETFONT(8) System Manager's Manual SETFONT(8)

setfont - ładuje czcionkę konsolową ekranu dla EGA/VGA

setfont [-O font+umap.orig] [-o font.orig] [-om cmap.orig] [-ou umap.orig] [-N] [font.new ..." ] [-m cmap] [-u umap] [-C console] [-hH] [-v] [-V]

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).

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.

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.

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 -m8859-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).

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).

-h H
Zmień wysokość czcionki.
-d
Doubles the size of the font, by replicating all of its pixels vertically and horizontally. This is suitable for high pixel density (e.g. "4k") displays on which the standard fonts are too small to be easily legible. Due to kernel limitations, this is suitable only for 16x16 or smaller fonts.
-m plik
Wczytuje mapę konsoli lub unikodową mapę konsoli z pliku.
-o plik
Zapisuje poprzednią czcionkę do pliku.
-O plik
Zapisuje poprzednią czcionkę i mapę unikodową do pliku.
-om plik
Zapisuje mapę konsoli do pliku.
-ou plik
Zapisuje poprzednią mapę unikodową do pliku.
-u plik
Wczytuje tablicę unikodową opisującą czcionkę z pliku.
-C console
Ustawia czcionkę dla wskazanej konsoli. (Może wymagać uprawnień administratora).
-v
Tryb gadatliwy.
-V
Wyświetla informacje o wersji i kończy działanie.

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.

/usr/share/kbd/consolefonts
The default font directory.
/usr/share/kbd/unimaps
The default directory for Unicode maps.
/usr/share/kbd/consoletrans
The default directory for screen mappings.

The default font is a file default (or default8xN if the -N option was given for some number N) perhaps with suitable extension (like .psf).

psfaddtable(1), unicode_start(1), loadunimap(8), utf-8(7), mapscrn(8)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Grzegorz Goławski <grzegol@pld.org.pl> i Robert Luberda <robert@debian.org>

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 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

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

11 lutego 2001 kbd